XML DOM 節(jié)點(diǎn)樹(shù)
XML DOM 把 XML DOM 文檔視為一棵節(jié)點(diǎn)樹(shù) (node-tree)。
樹(shù)中的所有節(jié)點(diǎn)彼此之間都有關(guān)系。
XML DOM 節(jié)點(diǎn)樹(shù)
XML DOM 把 XML 文檔視為一種樹(shù)結(jié)構(gòu)。這種樹(shù)結(jié)構(gòu)被稱為節(jié)點(diǎn)樹(shù)。
可通過(guò)這棵樹(shù)訪問(wèn)所有節(jié)點(diǎn)?梢孕薷幕騽h除它們的內(nèi)容,也可以創(chuàng)建新的元素。
這顆節(jié)點(diǎn)樹(shù)展示了節(jié)點(diǎn)的集合,以及它們之間的聯(lián)系。這棵樹(shù)從根節(jié)點(diǎn)開(kāi)始,然后在樹(shù)的最低層級(jí)向文本節(jié)點(diǎn)長(zhǎng)出枝條:

上面的圖片表示 XML 文件 books.xml。
父、子和同級(jí)節(jié)點(diǎn)
節(jié)點(diǎn)樹(shù)中的節(jié)點(diǎn)彼此之間都有等級(jí)關(guān)系。
父、子和同級(jí)節(jié)點(diǎn)用于描述這種關(guān)系。父節(jié)點(diǎn)擁有子節(jié)點(diǎn),位于相同層級(jí)上的子節(jié)點(diǎn)稱為同級(jí)節(jié)點(diǎn)(兄弟或姐妹)。
- 在節(jié)點(diǎn)樹(shù)中,頂端的節(jié)點(diǎn)成為根節(jié)點(diǎn)
- 根節(jié)點(diǎn)之外的每個(gè)節(jié)點(diǎn)都有一個(gè)父節(jié)點(diǎn)
- 節(jié)點(diǎn)可以有任何數(shù)量的子節(jié)點(diǎn)
- 葉子是沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)
- 同級(jí)節(jié)點(diǎn)是擁有相同父節(jié)點(diǎn)的節(jié)點(diǎn)
下面的圖片展示出節(jié)點(diǎn)樹(shù)的一個(gè)部分,以及節(jié)點(diǎn)間的關(guān)系:

因?yàn)?XML 數(shù)據(jù)是按照樹(shù)的形式進(jìn)行構(gòu)造的,所以可以在不了解樹(shù)的確切結(jié)構(gòu)且不了解其中包含的數(shù)據(jù)類型的情況下,對(duì)其進(jìn)行遍歷。
您將在本教程稍后的章節(jié)學(xué)習(xí)更多有關(guān)遍歷節(jié)點(diǎn)樹(shù)的知識(shí)。
注釋:父節(jié)點(diǎn):Parent Node,子節(jié)點(diǎn):Children Node,同級(jí)節(jié)點(diǎn):Sibling Node。
第一個(gè)子節(jié)點(diǎn) - 最后一個(gè)子節(jié)點(diǎn)
請(qǐng)看下面的 XML 片段:
<bookstore> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
在上面的 XML 中,<title> 元素是 <book> 元素的第一個(gè)子節(jié)點(diǎn),而 <price> 元素是 <book> 元素的最后一個(gè)子節(jié)點(diǎn)。
此外,<book> 元素是 <title>、<author>、<year> 以及 <price> 元素的父節(jié)點(diǎn)。