XML DOM Knoten

Elke component in een XML-document is een knooppunt.

Knooppunt

Volgens DOM, is elke component in een XML-document eenKnooppunt.

DOM is als volgt gedefinieerd:

  • Het hele document is een documentknooppunt
  • Elke XML-tag is een elementknooppunt
  • Tekst die in een XML-element is opgenomen is een tekstknooppunt
  • Elke XML-eigenschap is een eigenschapsknooppunt
  • Commentaar behoort tot de commentaar-knooppunten

DOM-instantie

Bekijk de onderstaande XML-bestand (books.xml):

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="children">
  <title lang="en">Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="cooking">
  <title lang="en">Everyday Italian</title> 
  <author>Giada De Laurentiis</author> 
  <year>2005</year> 
  <price>30.00</price> 
</book>
<book category="web">
  <title lang="en">Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</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>
</bookstore>

In de bovenstaande XML is de root node <bookstore>. Alle andere nodes in het document zijn ingesloten in <bookstore>.

De root node <bookstore> heeft vier <book> nodes.

De eerste <book> node heeft vier nodes: <title>, <author>, <year> en <price>, waarbij elke node een tekstnode bevat, "Harry Potter", "J K. Rowling", "2005" en "29.99".

Tekst wordt altijd opgeslagen in tekstnodes

Een algemene fout in DOM-verwerking is het denken dat element nodes tekst bevatten.

Maar, de tekst van het element wordt opgeslagen in de tekstnode.

In dit voorbeeld:<year>2005</year>, element node <year>, heeft een tekstnode met de waarde "2005".

"2005" Nee Waarde van element <year>!