XML DOM Node List

NodeList, getElementsByTagName() yöntemi ve childNodes özelliği tarafından döndürülü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.

İlk <title> öğesinden metin almak
Bu örnek, "books.xml" dosyasındaki ilk <title> öğesinin metnini almak için getElementsByTagName() yöntemini kullanır.
Length özelliği kullanarak döngülemek
Bu örnek, "books.xml" dosyasındaki tüm <title> öğelerini döngülemek için düğüm listesini ve length özelliğini kullanır.
Öğenin özelliklerini almak
Bu örnek, "books.xml" dosyasındaki ilk <title> öğesinin özelliklerini almak için özellik listesini kullanır.

DOM Node List

childNodes veya getElementsByTagName() özellikleri veya yöntemleri kullanıldığında NodeList nesnesi döndürülür.

NodeList nesnesi, XML'deki aynı sırayla düğüm listesini temsil eder.

Kullanıcı listesindeki düğümleri erişmek için 0'dan başlayan indeksleri kullanın.

Aşağıdaki grafik, "}}" ifadesini temsil eder.books.xml" içinde <title> elementlerinin düğüm listesi:

DOM node list

Aşağıdaki kod parçası, " kullanarak loadXMLDoc() " books.xml" xmlDoc'ye yüklenir ve "books.xml" içinde title elementinin bir düğüm listesi:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");

Yukarıdaki ifadesi çalıştıktan sonra, x NodeList nesnesi olur.

Aşağıdaki kod parçası, düğüm listesi x'teki ilk <title> elementinden metin döndürür:

txt=x[0].childNodes[0].nodeValue;

Yukarıdaki ifadesi çalıştıktan sonra, txt = "Everyday Italian" olur.

TIY

Node List Length

NodeList nesnesi kendi güncellemesini korur. Düğüm ekleme veya silme işlemi gerçekleştirildiğinde, liste otomatik olarak güncellenir.

Düğüm listesinin length özelliği, listedeki düğüm sayısını tutar.

Aşağıdaki kod parçası, " kullanarak loadXMLDoc() "books.xml" xmlDoc'ü yükler ve "books.xml" içinde <title> elementlerinin sayısını döndürür:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('title').length;

Yukarıdaki ifadesi çalıştıktan sonra, x = 4 olur.

Düğüm listesinin uzunluğu, listedeki tüm elementleri dolaşmak için kullanılabilir.

Aşağıdaki kod parçası length özelliğini kullanarak <title> elementlerinin listesini dolaşır:

xmlDoc=loadXMLDoc("books.xml");
//the x variable will hold a node list
x=xmlDoc.getElementsByTagName('title');
for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write("<br />");
}

Çıktı:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML

Örnek açıklama:

  • Kullanarak loadXMLDoc() "books.xml" xmlDoc'ü yükler
  • Tüm title elementlerinin düğüm listesini saklayan x değişkeninin x değişkenini ayarlar.
  • Tüm <title> elementlerinin metin düğümü değerlerini çıktıya verir.

TIY

DOM Özellik Listesi (Named Node Map)

Element düğümünün attributes özelliği, özellik düğüm listesini döndürür.

Bu, Named Node Map olarak adlandırılır ve yöntem ve özellikler üzerindeki bazı farklar dışında, düğüm listesi ile benzerdir.

Özellik listesi kendi güncellemesini korur. Özellik ekleme veya silme işlemi gerçekleştirildiğinde, bu liste otomatik olarak güncellenir.

Aşağıdaki kod parçası, " kullanarak loadXMLDoc() books.xml" xmlDoc e yükler ve "books.xml"

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book')[0].attributes;

Yukarıdaki kod çalıştıktan sonra, x.length özellik sayısına eşittir ve x.getNamedItem() ile özellik düğümünü döndürebilirsiniz.

Aşağıdaki kod parçası bir book elementinin "category" özelliğinin değerini ve özellik sayısını içerir:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0].attributes;
document.write(x.getNamedItem("category").nodeValue);
document.write("<br />" + x.length);

Çıktı:

children
1

Örnek açıklama:

  • Kullanarak loadXMLDoc() "books.xml" xmlDoc e yükler
  • x değişkenini ilk <book> elementinin tüm özelliklerinin bir listesi olarak ayarlar
  • "category" özelliğinden değeri çıkarır
  • Açıklama listesinin uzunluğunu çıkarır

TIY