XML -Tutorial

XML-HOME XML-Einführung XML-Wie zu verwenden XML-Baum XML-Syntax XML-Elemente XML-Attribute XML-Namespaces XML-Anzeige XML-HttpRequest XML-Parser XML-DOM XML-XPath XML-XSLT XML-XQuery XML-XLink XML-Validator XML-DTD XML-Schema XML-Server XML-Beispiele XML-Quiz XML-Zertifikat

XML-AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

XML-DOM

DOM-Einführung DOM-Knoten DOM-Zugriff DOM-Knoten-Info DOM-Knotenliste DOM-Traversierung DOM-Navigation DOM Get-Werte DOM-Änderungsknoten DOM-Knoten entfernen DOM-Ersetzungsknoten DOM-Knoten erstellen DOM-Knoten hinzufügen DOM-Klonknoten DOM-Beispiele

XPath -Tutorial

XPath-Einführung XPath-Knoten XPath-Syntax XPath-Achsen XPath-Operatoren XPath-Beispiele

XSLT -Tutorial

XSLT-Einführung XSL-Sprachen XSLT-Transformation XSLT <Vorlage> XSLT <Wert von> XSLT <für-jeden> XSLT <sortieren> XSLT <wenn> XSLT <auswählen> XSLT anwenden XSLT auf dem Client XSLT auf dem Server XSLT XML bearbeiten XSLT-Beispiele

XQuery- Tutorial

XQuery-Einführung XQuery-Beispiel XQuery FLWOR XQuery-HTML XQuery-Bedingungen XQuery-Syntax XQuery hinzufügen XQuery-Auswahl XQuery-Funktionen

XML -DTD

DTD-Einführung DTD-Bausteine DTD-Elemente DTD-Attribute DTD-Elemente vs. Attr DTD-Entitäten DTD-Beispiele

XSD- Schema

XSD-Einführung XSD-Anleitung XSD <Schema> XSD-Elemente XSD-Attribute XSD-Einschränkungen

XSD- Komplex

XSD-Elemente XSD leer Nur XSD-Elemente Nur XSD-Text XSD gemischt XSD-Indikatoren XSD <beliebig> XSD <beliebiges Attribut> XSD-Ersetzung XSD-Beispiel

XSD -Daten

XSD-String XSD-Datum XSD Numerisch XSD Sonstiges XSD-Referenz

Webdienste _

XML-Dienste XML-WSDL XML-SOAP XML-RDF XML-RSS

Verweise

DOM-Knotentypen DOM-Knoten DOM-Knotenliste DOM NamedNodeMap DOM-Dokument DOM-Element DOM-Attribut DOM-Text DOM-CDATA DOM-Kommentar DOM-XMLHttpRequest DOM-Parser XSLT-Elemente XSLT/XPath-Funktionen

XML-DOM -Knoten


Laut XML DOM ist alles in einem XML-Dokument ein Knoten :

  • Das gesamte Dokument ist ein Dokumentknoten
  • Jedes XML-Element ist ein Elementknoten
  • Der Text in den XML-Elementen sind Textknoten
  • Jedes Attribut ist ein Attributknoten
  • Kommentare sind Kommentarknoten

DOM-Beispiel

Sehen Sie sich die folgende XML-Datei an ( books.xml ):

×

Header

<?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>

Der Stammknoten im obigen XML heißt <bookstore>.

Alle anderen Knoten im Dokument sind in <bookstore> enthalten.

Der Wurzelknoten <bookstore> enthält 4 <book>-Knoten.

Der erste <Buch>-Knoten enthält die untergeordneten Knoten: <Titel>, <Autor>, <Jahr> und <Preis>.

Die untergeordneten Knoten enthalten jeweils einen Textknoten, "Alltagsitalienisch", "Giada De Laurentiis", "2005" und "30.00".



Text wird immer in Textknoten gespeichert

Ein häufiger Fehler bei der DOM-Verarbeitung besteht darin, zu erwarten, dass ein Elementknoten Text enthält.

Der Text eines Elementknotens wird jedoch in einem Textknoten gespeichert.

In diesem Beispiel: <Jahr>2005</Jahr> enthält der Elementknoten <Jahr> einen Textknoten mit dem Wert „2005“.

"2005" ist nicht der Wert des <year>-Elements!


Der XML-DOM-Knotenbaum

Das XML-DOM betrachtet ein XML-Dokument als Baumstruktur. Die Baumstruktur wird Knotenbaum genannt.

Auf alle Knoten kann über den Baum zugegriffen werden. Ihr Inhalt kann geändert oder gelöscht werden, und neue Elemente können erstellt werden.

Der Knotenbaum zeigt den Satz von Knoten und die Verbindungen zwischen ihnen. Der Baum beginnt am Wurzelknoten und verzweigt sich zu den Textknoten auf der untersten Ebene des Baums:

DOM-Knotenbaum

Das obige Bild stellt die XML-Datei books.xml dar .


Knoten Eltern, Kinder und Geschwister

Die Knoten im Knotenbaum haben eine hierarchische Beziehung zueinander.

Die Begriffe Elternteil, Kind und Geschwister werden verwendet, um die Beziehungen zu beschreiben. Elternknoten haben Kinder. Kinder auf gleicher Stufe werden Geschwister (Brüder oder Schwestern) genannt.

  • In einem Knotenbaum wird der oberste Knoten Wurzel genannt
  • Jeder Knoten außer dem Wurzelknoten hat genau einen Elternknoten
  • Ein Knoten kann beliebig viele Kinder haben
  • Ein Blatt ist ein Knoten ohne Kinder
  • Geschwister sind Knoten mit demselben Elternteil

Das folgende Bild zeigt einen Teil des Knotenbaums und die Beziehung zwischen den Knoten:

Knotenbaum

Da die XML-Daten in Baumform strukturiert sind, können sie durchlaufen werden, ohne die genaue Struktur des Baums zu kennen und ohne die Art der darin enthaltenen Daten zu kennen.

In einem späteren Kapitel dieses Tutorials erfahren Sie mehr über das Durchlaufen des Knotenbaums.


Erstes Kind – letztes Kind

Sehen Sie sich das folgende XML-Fragment an:

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

Im obigen XML ist das <title>-Element das erste untergeordnete Element des <book>-Elements und das <price>-Element das letzte untergeordnete Element des <book>-Elements.

Außerdem ist das <book>-Element der Elternknoten der <title>-, <author>-, <year>- und <price>-Elemente.