XML 文檔中的每個(gè)成分都是一個(gè)節(jié)點(diǎn)。
XML DOM 節(jié)點(diǎn)
節(jié)點(diǎn)
根據(jù) DOM,XML 文檔中的每個(gè)成分都是一個(gè)節(jié)點(diǎn)。
DOM 是這樣規(guī)定的:
- 整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)
- 每個(gè) XML 標(biāo)簽是一個(gè)元素節(jié)點(diǎn)
- 包含在 XML 元素中的文本是文本節(jié)點(diǎn)
- 每一個(gè) XML 屬性是一個(gè)屬性節(jié)點(diǎn)
- 注釋屬于注釋節(jié)點(diǎn)
DOM 實(shí)例
請(qǐng)看下面的 XML 文件 (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>
在上面的 XML 中,根節(jié)點(diǎn)是 <bookstore>。文檔中的所有其他節(jié)點(diǎn)都被包含在 <bookstore> 中。
根節(jié)點(diǎn) <bookstore> 有四個(gè) <book> 節(jié)點(diǎn)。
第一個(gè) <book> 節(jié)點(diǎn)有四個(gè)節(jié)點(diǎn):<title>, <author>, <year> 以及 <price>,其中每個(gè)節(jié)點(diǎn)都包含一個(gè)文本節(jié)點(diǎn),"Harry Potter", "J K. Rowling", "2005" 以及 "29.99"。
文本總是存儲(chǔ)在文本節(jié)點(diǎn)中
在 DOM 處理中一個(gè)普遍的錯(cuò)誤是,認(rèn)為元素節(jié)點(diǎn)包含文本。
不過(guò),元素節(jié)點(diǎn)的文本是存儲(chǔ)在文本節(jié)點(diǎn)中的。
在這個(gè)例子中:<year>2005</year>,元素節(jié)點(diǎn) <year>,擁有一個(gè)值為 "2005" 的文本節(jié)點(diǎn)。
"2005" 不是<year> 元素的值!