Lista węzłów DOM XML
- Poprzednia strona Informacje o węźle DOM
- Następna strona Przeszukiwanie węzłów DOM
getElementsByTagName()
i metod childNodes
właściwości, można uzyskać listę węzłów.
Lista węzłów DOM
Kiedy używa się childNodes
lub getElementsByTagName()
Gdy używa się niektórych właściwości lub metod, zwracany jest obiekt NodeList.
Obiekt NodeList reprezentuje listę węzłów, deren kolejność jest taka sama jak w XML.
Węzły w liście NodeList można uzyskać poprzez dostęp do nich za pomocą indeksów zaczynających się od 0.
Poniższy obraz przedstawia: books.xml Listę węzłów elementu <title>:

Załóżmy, że plik "books.xml" został załadowany do zmiennej xmlDoc.
Ten kod zwraca listę węzłów elementów title z pliku "books.xml":
x = xmlDoc.getElementsByTagName("title");
Po wykonaniu powyższych instrukcji, x staje się obiektem NodeList.
Poniższy fragment kodu zwraca tekst elementu <title> z pierwszego węzła listy (x):
Przykład
var txt = x[0].childNodes[0].nodeValue;
Po wykonaniu powyższych instrukcji, txt = "雅舍谈吃".
wielkość listy węzłów
obiekt NodeList będzie utrzymywał自身的 aktualizacje. Jeśli usunie się lub doda element, lista automatycznie się zaktualizuje.
lista węzłów length
liczba atrybutów to liczba węzłów w liście.
Ten kod zwraca liczbę elementów <title> w pliku "books.xml":
x = xmlDoc.getElementsByTagName('title').length;
Po wykonaniu powyższego zdania:x
jest równa 5.
może być używana do przechodzenia przez wszystkie elementy w liście.
Długość listy węzłów length
przy użyciu pętli po atrybutach, aby przejść przez listę elementów <title>:
Przykład
x = xmlDoc.getElementsByTagName('title'); xLen = x.length; for (i = 0; i < xLen; i++) { txt += (x[i].childNodes[0].nodeValue) + " "; }
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
Środek - ustawienie zmiennej x, aby zachować listę węzłów wszystkich elementów title
- pobieranie wartości węzła tekstowego z elementu <title>
DOM lista atrybutów (mapa węzłów nazwanych)
węzła elementu attributes
Atrybuty zwracają listę węzłów atrybutów.
To nazywa się mapą węzłów nazwanych (named node map), która jest podobna do listy węzłów, ale różni się metodami i atrybutami.
Lista atrybutów będzie utrzymywana w najnowszym stanie. Jeśli usunie się lub doda atrybut, lista automatycznie się zaktualizuje.
Ten kod zwraca listę węzłów atrybutów z pierwszego elementu <book> w pliku "books.xml":
x = xmlDoc.getElementsByTagName('book')[0].attributes;
Po wykonaniu powyższego kodu:x.length
jest równe liczbie atrybutów, można użyć x.getNamedItem()
Zwraca węzeł atrybutu.
Ten kod pobiera wartość atrybutu "category" pierwszej książki oraz liczbę atrybutów:
Przykład
x = xmlDoc.getElementsByTagName("book")[0].attributes; txt = x.getNamedItem("category").nodeValue + " " + x.length;
Przykład wyjaśnienia:
- Załóżmy books.xml załadowany do
xmlDoc
Środek - Ustaw zmienną x, aby zapisać listę wszystkich atrybutów pierwszego elementu <book>
- Pobierz wartość atrybutu "category" oraz długość listy atrybutów
- Poprzednia strona Informacje o węźle DOM
- Następna strona Przeszukiwanie węzłów DOM