XML DOM Düğüm Erişimi

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:

  1. getElementsByTagName() methodunu kullanarak
  2. Düğüm ağacını dolaşarak (tarayarak)
  3. 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];

TIY

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ı:

  1. Kullanarak loadXMLDoc() "books.xml" xmlDoc'yi yükleyin
  2. Tüm <title> element node'larını alın
  3. Her <title> element'inin metin node değerini çıktıya alın

TIY

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.

TIY

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ı:

  1. Kullanarak loadXMLDoc() "books.xml" xmlDoc'a yükleyin
  2. Kök element'in alt node'larını alın
  3. Her alt alt node'nın node türünü kontrol edin. Eğer node türü "1" ise, bir element node'dur
  4. Eğer bir element düğümse, düğümün adını çıktıya yazın

TIY

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;
}
  1. Kullanarak loadXMLDoc() "books.xml" xmlDoc'a yükleyin
  2. Birinci "book" elementinin alt düğümünü alın
  3. "y" değişkenini birinci "book" elementinin birinci alt düğümü olarak ayarlayın
  4. 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
  5. Eğer bir element düğümse, düğümün adını çıktıya yazın
  6. "y" değişkenini bir sonraki kardeş düğüm olarak ayarlayın ve döngüyü tekrar çalıştırın

TIY