Samouczek XML

Strona główna XML Wprowadzenie do XML XML Jak używać Drzewo XML Składnia XML Elementy XML Atrybuty XML Przestrzenie nazw XML Wyświetlacz XML Żądanie HTTP XML Parser XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Walidator XML XML DTD Schemat XML Serwer XML Przykłady XML Quiz XML Certyfikat XML

XML AJAX

Wprowadzenie do AJAX AJAX XMLHttp Żądanie AJAX Odpowiedź AJAX Plik XML AJAX AJAX PHP ASP AJAX Baza danych AJAX Aplikacje AJAX Przykłady AJAX

XML DOM

Wprowadzenie do DOM Węzły DOM Dostęp do DOM Informacje o węźle DOM Lista węzłów DOM Przechodzenie DOM Nawigacja DOM DOM Uzyskaj wartości Zmiana węzłów DOM DOM Usuń węzły DOM Zamień węzły DOM Utwórz węzły DOM Dodaj węzły Węzły klonowania DOM Przykłady DOM

Samouczek XPath

Wprowadzenie do XPath Węzły XPath Składnia XPath Osie XPath Operatorzy XPath Przykłady XPath

Samouczek XSLT

Wprowadzenie XSLT Języki XSL Transformacja XSLT XSLT <szablon> XSLT <wartość-z> XSLT <dla każdego> XSLT <sortuj> XSLT <jeśli> XSLT <wybierz> XSLT Zastosuj XSLT na kliencie XSLT na serwerze XSLT Edytuj XML Przykłady XSLT

Samouczek XQuery

Wprowadzenie do XQuery Przykład XQuery XQuery FLWOR XQuery HTML Warunki XQuery Składnia XQuery XQuery Dodaj XQuery Wybierz Funkcje XQuery

XML DTD

Wprowadzenie do DTD Bloki konstrukcyjne DTD Elementy DTD Atrybuty DTD Elementy DTD a Attr Jednostki DTD Przykłady DTD

Schemat XSD

Wprowadzenie do XSD XSD Jak to zrobić XSD <schemat> Elementy XSD Atrybuty XSD Ograniczenia XSD

Kompleks XSD

Elementy XSD XSD Pusty Tylko elementy XSD Tylko tekst XSD Mieszane XSD Wskaźniki XSD XSD <dowolny> XSD <dowolnyAtrybut> Zastąpienie XSD Przykład XSD

Dane XSD

XSD ciąg Data XSD Numeryczne XSD XSD Różne Odniesienie XSD

Usługi internetowe

Usługi XML XML WSDL MYDŁO XML XML RDF XML RSS

Bibliografia

Typy węzłów DOM Węzeł DOM Lista węzłów DOM DOM NamedNodeMap Dokument DOM Element DOM Atrybut DOM Tekst DOM DOM CDATA Komentarz DOM DOM XMLHttpRequest Analizator DOM Elementy XSLT Funkcje XSLT/XPath

XML DOM - Dostęp do węzłów


Dzięki DOM możesz uzyskać dostęp do każdego węzła w dokumencie XML.


Spróbuj sam - przykłady

Poniższe przykłady wykorzystują plik XML books.xml .


Użyj metody getElementsByTagName(), aby uzyskać trzeci element <title> w „books.xml”


Użyj właściwości length, aby przejść przez wszystkie elementy <title> w „books.xml”


Użyj właściwości nodeType, aby uzyskać typ węzła elementu głównego w "books.xml".


Użyj właściwości nodeType, aby przetwarzać tylko węzły elementów w „books.xml”.


Użyj właściwości nodeType i nextSibling do przetwarzania węzłów elementów w „books.xml”.

×

nagłówek


Dostęp do węzłów

Możesz uzyskać dostęp do węzła na trzy sposoby:

1. Korzystając z metody getElementsByTagName()

2. Przechodząc przez (przechodząc) przez drzewo węzłów.

3. Nawigując po drzewie węzłów, korzystając z relacji węzłów.


Metoda getElementsByTagName()

getElementsByTagName() zwraca wszystkie elementy o określonej nazwie znacznika.

Składnia

node.getElementsByTagName("tagname");

Przykład

Poniższy przykład zwraca wszystkie elementy <title> pod elementem x:

x.getElementsByTagName("title");

Zauważ, że powyższy przykład zwraca tylko elementy <title> w węźle x. Aby zwrócić wszystkie elementy <title> w dokumencie XML użyj:

xmlDoc.getElementsByTagName("title");

gdzie xmlDoc to sam dokument (węzeł dokumentu).



Lista węzłów DOM

Metoda getElementsByTagName() zwraca listę węzłów. Lista węzłów to tablica węzłów.

x = xmlDoc.getElementsByTagName("title");

Dostęp do elementów <title> w x można uzyskać za pomocą numeru indeksu. Aby uzyskać dostęp do trzeciego <tytułu>, możesz napisać::

y = x[2];

Uwaga: indeks zaczyna się od 0.

Więcej o listach węzłów dowiesz się w kolejnym rozdziale tego samouczka.


Długość listy węzłów DOM

Właściwość length określa długość listy węzłów (liczbę węzłów).

Listę węzłów można przeglądać w pętli, korzystając z właściwości length:

Przykład

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // do something for each node
  }

Typy węzłów

Właściwość documentElement dokumentu XML jest węzłem głównym.

Właściwość nodeName węzła jest nazwą węzła.

Właściwość nodeType węzła jest typem węzła.

Więcej o właściwościach węzła dowiesz się w następnym rozdziale tego samouczka.


Przemierzanie węzłów

Poniższa pętla kodu przechodzi przez węzły podrzędne, które są również węzłami elementów węzła głównego:

Przykład

txt = "";
x = xmlDoc.documentElement.childNodes;

for (i = 0; i <x.length; i++) {
  // Process only element nodes (type 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}

Przykład wyjaśniony:

  1. Załóżmy, że załadowałeś " books.xml " do xmlDoc
  2. Pobierz węzły podrzędne elementu głównego (xmlDoc)
  3. Dla każdego węzła podrzędnego sprawdź typ węzła. Jeśli typ węzła to „1”, jest to węzeł elementu
  4. Wypisz nazwę węzła, jeśli jest to węzeł elementu

Nawigowanie po relacjach węzłów

Poniższy kod nawiguje po drzewie węzłów przy użyciu relacji węzłów:

Przykład

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // Process only element nodes (type 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}

Przykład wyjaśniony:

  1. Załóżmy, że załadowałeś " books.xml " do xmlDoc
  2. Pobierz węzły podrzędne pierwszego elementu książki
  3. Ustaw zmienną "y" jako pierwszy węzeł potomny pierwszego elementu książki
  4. Dla każdego węzła podrzędnego (zaczynając od pierwszego węzła podrzędnego „y”):
  5. Sprawdź typ węzła. Jeśli typ węzła to „1”, jest to węzeł elementu
  6. Wypisz nazwę węzła, jeśli jest to węzeł elementu
  7. Ustaw zmienną „y” jako następny węzeł rodzeństwa i ponownie uruchom pętlę