XML DOM Tarayıcı Farkları
- Önceki sayfa DOM nodu gezinimi
- Sonraki sayfa DOM konum nodu
Farklı tarayıcılar, XML DOM'da boş metin düğümlerini işleme yöntemleri farklıdır.
Örnek
Aşağıdaki örnek, XML dosyasını kullanır books.xml.
Fonksiyon loadXMLDoc()Dışarıdaki JavaScript'te, XML dosyasını yüklemek için kullanılır.
- Düğüm listesinin uzunluğunu göster
- Bu örnek, bir düğüm listesinin uzunluğunu gösterir. IE ve diğer tarayıcılar arasında farklı sonuçlar alınır.
- Nod arasındaki boş metni göz ardı et
- Bu örnek, nodeType'ı kontrol eder ve sadece element düğümleri işler.
DOM çözümlemeindeki tarayıcı farklılıkları
Tüm modern tarayıcılar W3C DOM规范unu destekler.
Ancak, tarayıcılar arasında farklılıklar vardır. Önemli iki fark şunlardır:
- XML'nin yüklenme yöntemleri
- Boşluk ve satır değişikliklerinin işleme yöntemleri
İçinde bulunduğu "XML DOM AyrıştırmaBu bölüm, XML'nin farklı yüklenme yöntemlerini açıklamıştır.
Bu bölümde, boşluk ve satır değişikliklerinin farklı işleme yöntemlerini anlatacağız.
DOM - Boşluk ve Satır Değişiklikleri
XML genellikle düğümler arasında satır değişiklikleri veya boşluk karakterleri içerir. Bu, basit düzenleyiciler (örneğin, Not Defteri) kullanılırken sıkça karşılaşılan bir durumdur.
Aşağıdaki örnek (Not Defteri ile düzenlenmiştir) her satır arasında CR/LF içerir, her alt düğüm öncesinde iki boşluk içerir:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
Firefox ve diğer bazı tarayıcılar, boş boşluk veya satır değişikliklerini metin düğüm olarak işlerken, Internet Explorer böyle yapmaz.
Aşağıdaki kod parçası, (books.xml'in) kök elementin ne kadar alt nodu olduğunu gösterir:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; document.write("Number of child nodes: " + x.length);
Örnek açıklama:
- Kullanarak loadXMLDoc() "books.xml"xmlDoc" içinde yükleyin
- Kök elementin alt nodlarını alın
- Alt nod sayısını çıktı verin
Sonuç, kullanılan tarayıcıya bağlıdır. Firefox 9, IE ise 4 çıktı verir.
Nod arasındaki boş metni göz ardı et
Element nodları arasındaki boş metin nodlarını göz ardı etmek için nod türünü kontrol etmek gerekir. Element nod türü 1'dir:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++) { if (x[i].nodeType==1) {// sadece element nodlarını işlemek document.write(x[i].nodeName); document.write("<br />"); } }
Örnek açıklama:
- Kullanarak loadXMLDoc() "books.xml"xmlDoc" içinde yükleyin
- Kök elementin alt nodlarını alın
- Her alt nodun nod türünü kontrol edin. Nod türü "1" ise, bir element nodudur
TIY (basit) veya TIY (tam)
- Önceki sayfa DOM nodu gezinimi
- Sonraki sayfa DOM konum nodu