XML DOM Düğüm Erişimi
- Önceki sayfa DOM özellikleri ve yöntemleri
- Sonraki sayfa DOM düğüm bilgileri
DOM aracılığıyla, XML belgesindeki her düğümü erişebilirsiniz.
Ö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 listesindeki alt indeks numarasını kullanarak düğümü erişme
- Bu örnek, "books.xml" dosyasındaki üçüncü <title> elementini elde etmek için getElementsByTagname() methodunu kullanır.
- length özellikğini kullanarak düğümleri dolaşma
- Bu örnek, "books.xml" dosyasındaki tüm <title> elementlerini dolaşmak için length özellikğini kullanır.
- Düğüm türünü gözden geçirme
- Bu örnek, "books.xml" dosyasındaki kök düğümün düğüm türünü elde etmek için nodeType özellikğini kullanır.
- Element düğümlerini dolaşma
- Bu örnek, "books.xml" dosyasındaki element düğümlerini işlemek için nodeType özellikğini kullanır.
- Düğüm ilişkilerini kullanarak element düğümlerini dolaşma
- Bu örnek, "books.xml" dosyasındaki element düğümlerini işlemek için nodeType ve nextSibling özelliklerini kullanır.
Düğümü erişme
Düğümü erişmek için üç yöntem kullanabilirsiniz:
- getElementsByTagName() methodunu kullanarak
- Düğüm ağacını dolaşarak (tarayarak)
- Düğüm ilişkilerini kullanarak düğüm ağacında navigasyon yapma
getElementsByTagName() methodu
getElementsByTagName() methodu, belirtilen etiket adına sahip tüm elementleri döndürür.
gramer
node.getElementsByTagName("tagname");
Örnek
Aşağıdaki örnek, x elementi altındaki tüm <title> elementlerini döndürür:
x.getElementsByTagName("title");
Lütfen dikkat edin, yukarıdaki örnek yalnızca x node'sundaki <title> elementlerini döndürür. XML belgesindeki tüm <title> elementlerini döndürmek için şu şekilde kullanın:
xmlDoc.getElementsByTagName("title");
Burada xmlDoc, belge kendisidir (belge node'su).
DOM Node List
getElementsByTagName() yöntemi, node listesini (node listesini) döndürür. Node listesi, node'ların bir dizisidir.
Aşağıdaki kod loadXMLDoc() "books.xml" xmlDoc'yi yükleyin, ardından değişken x'te <title> node'larının bir listesini saklayın:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
x'te alt index ile erişilebilir. Üçüncü <title> erişmek için şu şekilde yazabilirsiniz:
y=x[2];
Açıklama:İndeks 0 ile başlar.
Bu eğitimin daha ileriki bölümlerinde Node List hakkında daha fazla bilgi öğreneceksiniz.
DOM Node List Length
length özelliği, node listesinin uzunluğunu tanımlar (yani node sayısı).
length özelliği kullanarak bir node listesini döngüleyebilirsiniz:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title"); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
Örnek açıklaması:
- Kullanarak loadXMLDoc() "books.xml" xmlDoc'yi yükleyin
- Tüm <title> element node'larını alın
- Her <title> element'inin metin node değerini çıktıya alın
Node Türü
XML belgesinin documentElement Özellikleri kök node'dur.
node'nın nodeName Özellikleri node adıdır.
node'nın nodeType Özellikler node türüdür.
Bu eğitim bölümünün bir sonraki bölümünde node özellikleri hakkında daha fazla bilgi öğreneceksiniz.
Node'ları tarayın
Aşağıdaki kod kök node'nın alt node'larını döngüleyen, aynı zamanda element node olanları:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++) { if (x[i].nodeType==1) {//Sadece element düğümünü ( tür 1) işlemek document.write(x[i].nodeName); document.write("<br />"); } }
Örnek açıklaması:
- Kullanarak loadXMLDoc() "books.xml" xmlDoc'a yükleyin
- Kök element'in alt node'larını alın
- Her alt alt node'nın node türünü kontrol edin. Eğer node türü "1" ise, bir element node'dur
- Eğer bir element düğümse, düğümün adını çıktıya yazın
Düğüm ilişkilerini kullanarak navigasyon yapmak
Aşağıdaki kod, düğüm ilişkilerini kullanarak düğüm ağacında navigasyon yapmaktadır:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].childNodes; y=xmlDoc.getElementsByTagName("book")[0].firstChild; for (i=0;i<x.length;i++) { if (y.nodeType==1) {//Sadece element düğümünü ( tür 1) işlemek document.write(y.nodeName + "<br />"); } y=y.nextSibling; }
- Kullanarak loadXMLDoc() "books.xml" xmlDoc'a yükleyin
- Birinci "book" elementinin alt düğümünü alın
- "y" değişkenini birinci "book" elementinin birinci alt düğümü olarak ayarlayın
- Her alt düğümün düğüm türünü kontrol edin, düğüm türü "1" ise, bu bir element düğümüdür
- Eğer bir element düğümse, düğümün adını çıktıya yazın
- "y" değişkenini bir sonraki kardeş düğüm olarak ayarlayın ve döngüyü tekrar çalıştırın
- Önceki sayfa DOM özellikleri ve yöntemleri
- Sonraki sayfa DOM düğüm bilgileri