Neueste Web-Entwicklung Tutorials
 

XML DOM-Knoten


Im DOM, alles in einem XML-Dokument ist ein Knoten.


DOM-Knoten

Gemäß der DOM, alles in einem XML - Dokument ist ein node .

Das DOM sagt:

  • Das gesamte Dokument ist ein Dokument Knoten
  • Jedes XML-Element ist ein Element, Knoten
  • Der Text in den XML-Elemente sind Textknoten
  • Jedes Attribut ist ein Attribut Knoten
  • Die Kommentare sind Kommentarknoten

DOM Beispiel

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

×

Kopfzeile

<?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 Wurzelknoten in der XML - oben benannt <bookstore> . Alle anderen Knoten in dem Dokument enthalten sind , innerhalb von <bookstore> .

Der Wurzelknoten <bookstore> hält vier <book> Knoten.

Die erste <book> Knoten hält vier Knoten: <title>, <author>, <year> und <price> , die jeweils ein Textknoten enthält "Everyday Italian", "Giada De Laurentiis" , "2005" , und "30.00" .


Der Text wird immer in Textknoten gespeicherten

Ein häufiger Fehler in DOM-Verarbeitung ist ein Element Knoten enthalten Text zu erwarten.

Allerdings ist der Text eines Elementknotens in einem Textknoten gespeichert.

In diesem Beispiel: <year>2005</year> , das Element Knoten <year> , hält einen Textknoten mit dem Wert "2005" .

"2005" ist not der Wert des <year> Element!


Die XML-DOM-Knoten-Baum

Die XML-DOM-Ansichten, die ein XML-Dokument als Baumstruktur. Die Baumstruktur ist ein sogenannter node-tree.

Dabei können alle Teilnehmer durch den Baum zugegriffen werden. Ihr Inhalt kann geändert oder gelöscht werden, und neue Elemente erzeugt werden können.

Der Knotenbaum zeigt die Menge der Knoten, und die Verbindungen zwischen ihnen. Der Baum beginnt mit dem Wurzelknoten und verzweigt sich zu den Textknoten auf der untersten Ebene des Baumes:

DOM-Knoten Baum

Das Bild oben zeigt die XML - Datei books.xml .


Knoten Eltern, Kinder und Geschwister

Die Knoten in der Knotenstruktur eine hierarchische Beziehung zueinander haben.

Die Begriffe Eltern, Kinder und Geschwister werden verwendet, um die Beziehungen zu beschreiben. Eltern-Knoten haben Kinder. Kinder , die auf dem gleichen Niveau sind Geschwister genannt (brothers or sisters) .

  • In einem Knotenbaum wird der obere Knoten die Wurzel genannt
  • Jeder Knoten, mit Ausnahme der Wurzel, hat genau einen übergeordneten Knoten
  • Ein Knoten kann eine beliebige Anzahl von Kinder
  • Ein Blatt ist ein Knoten ohne Kinder
  • Geschwister sind Knoten mit der gleichen Mutter

Die folgende Abbildung zeigt einen Teil des Knotenstruktur und die Beziehung zwischen den Knoten:

Knoten Baum

Da die XML-Daten in einer Baumform strukturiert ist, kann es ohne zu wissen, die genaue Struktur des Baumes durchlaufen werden und ohne die Art der Daten zu kennen, die innerhalb.

Sie werden mehr über Überqueren des Knotenbaum in einem späteren Kapitel dieses Tutorials lernen.


First Child - Last Child

Schauen Sie sich das folgende XML-Fragment:

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

In der XML - oben, der <title> ist Element das erste Kind des <book> Element und das <price> Element ist das letzte Kind des <book> Element.

Darüber hinaus ist die <book> Element ist der übergeordnete Knoten des <title>, <author>, <year> , and <price> elements. <title>, <author>, <year> , and <price> elements.