XML DOM knude

Hver komponent i et XML-dokument er en node.

Noder

Ifølge DOM er hver komponent i et XML-dokument enNoder

DOM er defineret som:

  • Hele dokumentet er en dokumentnodde
  • Hver XML-mærke er en elementnodde
  • Tekst, der indeholderes i en XML-element, er en tekstnodde
  • Hver XML-atрибut er en attributnodde
  • Kommentarer er kommentarndoder

DOM instans

Se nedenstående XML-fil (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>

I det ovennævnte XML er rodknuden <bookstore>. Alle andre knuder i dokumentet er inkluderet i <bookstore>.

Rodknuden <bookstore> har fire <book> knuder.

Den første <book> knude har fire knuder: <title>, <author>, <year> og <price>, hvor hver knude indeholder en tekstknude, "Harry Potter", "J K. Rowling", "2005" og "29.99".

Tekst gemmes altid i tekstknuden

En almindelig fejl i DOM-behandling er at tro, at elementknuden indeholder tekst.

Men elementknudens tekst er gemt i tekstknuden.

I dette eksempel:<year>2005</year>,elementknuden <year> har en tekstknude med værdien "2005".

"2005" Ikke !Værdien af <year> elementet!