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

Węzły XML DOM


Zgodnie z XML DOM, wszystko w dokumencie XML jest węzłem :

  • Cały dokument jest węzłem dokumentu
  • Każdy element XML jest węzłem elementu
  • Tekst w elementach XML to węzły tekstowe
  • Każdy atrybut jest węzłem atrybutu
  • Komentarze są węzłami komentarzy

Przykład DOM

Spójrz na następujący plik XML ( books.xml ):

×

nagłówek

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
    <author>Per Bothner</author>
    <author>Kurt Cagle</author>
    <author>James Linn</author>
    <author>Vaidyanathan Nagarajan</author>
    <year>2003</year>
    <price>49.99</price>
  </book>
  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

Węzeł główny w powyższym pliku XML nosi nazwę <księgarnia>.

Wszystkie inne węzły w dokumencie są zawarte w <księgarni>.

Węzeł główny <bookstore> zawiera 4 węzły <book>.

Pierwszy węzeł <book> zawiera węzły podrzędne: <tytuł>, <autor>, <rok> i <cena>.

Węzły podrzędne zawierają po jednym węźle tekstowym, „Everyday Italian”, „Giada De Laurentiis”, „2005” i „30.00”.



Tekst jest zawsze przechowywany w węzłach tekstowych

Częstym błędem podczas przetwarzania DOM jest oczekiwanie, że węzeł elementu będzie zawierał tekst.

Jednak tekst węzła elementu jest przechowywany w węźle tekstowym.

W tym przykładzie: <year>2005</year> , węzeł elementu <year> zawiera węzeł tekstowy o wartości „2005”.

"2005" nie jest wartością elementu <rok>!


Drzewo węzłów XML DOM

XML DOM wyświetla dokument XML jako strukturę drzewa. Struktura drzewa nazywana jest drzewem węzłów.

Dostęp do wszystkich węzłów można uzyskać poprzez drzewo. Ich zawartość można modyfikować lub usuwać, a także tworzyć nowe elementy.

Drzewo węzłów pokazuje zbiór węzłów i połączenia między nimi. Drzewo zaczyna się w węźle głównym i rozgałęzia do węzłów tekstowych na najniższym poziomie drzewa:

Drzewo węzłów DOM

Powyższy obraz przedstawia plik XML books.xml .


Rodzice, dzieci i rodzeństwo węzła

Węzły w drzewie węzłów są ze sobą powiązane hierarchicznie.

Terminy rodzic, dziecko i rodzeństwo są używane do opisania relacji. Węzły nadrzędne mają dzieci. Dzieci na tym samym poziomie nazywane są rodzeństwem (braćmi lub siostrami).

  • W drzewie węzłów najwyższy węzeł nazywa się root
  • Każdy węzeł, z wyjątkiem korzenia, ma dokładnie jeden węzeł nadrzędny
  • Węzeł może mieć dowolną liczbę dzieci
  • Liść to węzeł bez dzieci
  • Rodzeństwo to węzły z tym samym rodzicem

Poniższy obraz ilustruje część drzewa węzłów i relacje między węzłami:

Drzewo węzłów

Ponieważ dane XML mają strukturę drzewa, można je przeszukiwać bez znajomości dokładnej struktury drzewa i bez znajomości typu danych w nim zawartych.

Więcej o przechodzeniu przez drzewo węzłów dowiesz się w kolejnym rozdziale tego samouczka.


Pierwsze dziecko - ostatnie dziecko

Spójrz na następujący fragment XML:

<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
</bookstore>

W powyższym kodzie XML element <title> jest pierwszym dzieckiem elementu <book>, a element <price> jest ostatnim dzieckiem elementu <book>.

Ponadto element <book> jest węzłem nadrzędnym elementów <title>, <author>, <year> i <price>.