XML DOM Düğümü Listesi

getElementsByTagName() yöntemleri ve childNodes öznitelik, node listesini döndürebilir.

DOM Node List

Kullanıldığında childNodes veya getElementsByTagName() Yapılandırma veya yöntemler kullanıldığında, NodeList nesnesi döndürülür.

NodeList nesnesi, XML'deki sırayla aynı sırayla node listesini temsil eder.

NodeList listesindeki node'lar, 0'dan başlayan bir indeks numarası ile erişilebilir.

Aşağıdaki grafik göstermektedir books.xml title öğesinin node listesi:

DOM Node List

"books.xml" değişkenine yüklenmiş olmalıdır.

Bu kod parçası "books.xml" dosyasında title öğesinin node listesini döndürür:

x = xmlDoc.getElementsByTagName("title");

Yukarıdaki cümleleri çalıştırdıktan sonra, x bir NodeList nesnesi olur.

Aşağıdaki kod parçası, düğüm listesi (x) içindeki ilk <title> elementinin metnini döndürür:

Örnek

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

Kendi kendine deneyin

Yukarıdaki cümle çalıştıktan sonra, txt = "雅舍谈吃".

düğüm listesi uzunluğu

NodeList nesnesi, kendi güncellemelerini korur. Eğer bir element kaldırılırsa veya eklenirse, liste otomatik olarak güncellenir.

düğüm listesinin length özellik, listedeki düğüm sayısıdır.

Bu kod, "books.xml" dosyasındaki <title> elementinin sayısını döndürür:

x = xmlDoc.getElementsByTagName('title').length;

Yukarıdaki cümlenin çalıştıktan sonra,x değeri 5'tir.

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

Bu kod, listedeki tüm elementleri dolaşmak için kullanılan length özellik döngüsü ile <title> element listesini tarar:

Örnek

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
    txt += (x[i].childNodes[0].nodeValue) + " ";
}

Kendi kendine deneyin

Örnek açıklama:

  1. Hadi books.xml yüklenmiştir xmlDoc Orta
  2. x değişkenini tüm title elementlerinin düğüm listesini saklamak için ayarlar
  3. <title> elementinden metin düğümünün değerini alır

DOM özellik listesi (adlandırılmış düğüm haritası)

element düğümünün attributes Özellik, özellik düğüm listesini döndürür.

Bu, adlandırılmış düğüm haritası (named node map) olarak adlandırılır ve düğüm listesi benzer, ancak yöntemler ve özellikler farklıdır.

Özellik listesi de en güncel durumunu korur. Özellik eklenir veya kaldırılırsa, liste otomatik olarak güncellenir.

Bu kod, "books.xml" dosyasındaki ilk <book> elementinden özellik düğüm listesini döndürür:

x = xmlDoc.getElementsByTagName('book')[0].attributes;

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

Bu kod, ilk kitabın "category" özelliğinin değerini ve özellik sayısını alır:

Örnek

x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;

Kendi kendine deneyin

Örnek açıklama:

  1. Hadi books.xml yüklenmiş xmlDoc Orta
  2. İlk <book> elementinin tüm özellik listesini kaydetmek için x değişkenini ayarlayın
  3. "category" özelliğinin değerini ve özellik listesinin uzunluğunu almak