Dostęp do węzłów XML DOM
- Poprzednia strona Atrybuty i metody DOM
- Następna strona Informacje o węzłach DOM
Przez DOM, możesz uzyskać dostęp do każdego węzła w dokumencie XML.
Przykład
Poniższy przykład używa pliku XML books.xml.
funkcja loadXMLDoc()zlokalizowany poza JavaScript, używany do ładowania plików XML.
- Dostęp do węzłów za pomocą indeksu w liście węzłów
- W tym przykładzie używamy metody getElementsByTagname() do uzyskania trzeciego <title> elementu w "books.xml".
- Przechodzenie przez węzły za pomocą atrybutu length
- W tym przykładzie używamy atrybutu length do przechodzenia przez wszystkie <title> elementy w "books.xml".
- Sprawdzenie typu węzła elementu
- W tym przykładzie używamy atrybutu nodeType do uzyskania typu węzła korzenia w "books.xml".
- Przetwarzanie węzłów elementów
- W tym przykładzie używamy atrybutu nodeType do przetwarzania węzłów elementów w "books.xml".
- Przetwarzanie węzłów elementów za pomocą relacji węzłów
- W tym przykładzie używamy atrybutu nodeType i atrybutu nextSibling do przetwarzania węzłów elementów w "books.xml".
Dostęp do węzłów
Możesz uzyskać dostęp do węzłów na trzy sposoby:
- przy użyciu metody getElementsByTagName()
- przez przechodzenie przez drzewo węzłów
- nawigacja po drzewie węzłów za pomocą relacji węzłów
Metoda getElementsByTagName()
getElementsByTagName() zwraca wszystkie elementy o podanym nazwie etykiety.
język
node.getElementsByTagName("tagname");
Przykład
Poniższy przykład zwraca wszystkie elementy <title> wewnątrz x:
x.getElementsByTagName("title");
Proszę zauważyć, że powyższy przykład zwraca tylko elementy <title> wewnątrz x. Aby zwrócić wszystkie elementy <title> w dokumencie XML, użyj:
xmlDoc.getElementsByTagName("title");
W tym przypadku xmlDoc to sam dokument (węzeł dokumentu).
Lista węzłów DOM
metody getElementsByTagName() do zwrócenia listy węzłów (listy węzłów). Lista węzłów to tablica węzłów.
Poniższy kod używa loadXMLDoc() Ustaw "books.xml"Wczytaj xmlDoc do zmiennej, a następnie zapisz listę <title> w zmiennej x:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
Możesz uzyskać dostęp do elementu <title> w x za pomocą indeksu. Aby uzyskać dostęp do trzeciego <title>, możesz napisać:
y=x[2];
Komentarz:Indeksy zaczynają się od 0.
W późniejszych rozdziałach tego kursu nauczysz się więcej o liście węzłów.
Długość listy węzłów DOM
Atrybut length definiuje długość listy węzłów (liczbę węzłów).
Możesz przejść przez listę węzłów za pomocą atrybutu length:
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 />"); }
Przykład wyjaśnienia:
- Użyj loadXMLDoc() Ustaw "books.xml"Wczytaj xmlDoc
- Uzyskaj wszystkie elementy <title>
- Wypisz wartość węzła tekstowego każdego elementu <title>
Typ węzła
Dokument XML documentElement Atrybut to węzeł korzenia.
Atrybut węzła to nodeName nazwa węzła.
Atrybut węzła to nodeType Atrybuty to typ węzła.
W następnym rozdziale tego kursu nauczysz się więcej o atrybutach węzłów.
Przechodź przez węzły
Poniższy kod przechodzi przez podwęzły elementu korzenia, które są również węzłami elementowymi:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++) { jeśli (x[i].nodeType==1) {//Przetwarzaj tylko węzły elementu (typ 1) document.write(x[i].nodeName); document.write("<br />"); } }
Przykład wyjaśnienia:
- Przez użycie loadXMLDoc() Ustaw "books.xml"Wczytaj do xmlDoc"
- Uzyskaj podwęzły elementu korzenia
- Sprawdź typ węzła każdego podwęzła. Jeśli typ węzła to "1", to jest węzeł elementowy
- Jeśli jest to węzeł elementu, wyświetl nazwę tego węzła
Nawigacja za pomocą relacji węzłów
Poniższy kod nawiguje po drzewie węzłów za pomocą relacji węzłów:
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) {//Przetwarzaj tylko węzły elementu (typ 1) document.write(y.nodeName + "<br />"); } y=y.nextSibling; }
- Przez użycie loadXMLDoc() Ustaw "books.xml"Wczytaj do xmlDoc"
- Uzyskaj pierwszy podwęzeł elementu "book"
- Ustaw zmienną "y" na pierwszy podwęzeł pierwszego elementu "book"
- Sprawdź typ węzła każdego podwęzła, jeśli typ węzła to "1", to jest to węzeł elementu
- Jeśli jest to węzeł elementu, wyświetl nazwę tego węzła
- Ustaw zmienną "y" na następny węzeł bratni i uruchom pętlę ponownie
- Poprzednia strona Atrybuty i metody DOM
- Następna strona Informacje o węzłach DOM