XML DOM 節(jié)點(diǎn)樹


XML DOM 把 XML 文檔視為一棵節(jié)點(diǎn)樹。

樹中的所有節(jié)點(diǎn)彼此之間都有關(guān)系。


XML DOM 節(jié)點(diǎn)樹

XML DOM 把 XML 文檔視為一種樹結(jié)構(gòu)。這種樹結(jié)構(gòu)被稱為節(jié)點(diǎn)樹

可通過這棵樹訪問所有節(jié)點(diǎn)。可以修改或刪除它們的內(nèi)容,也可以創(chuàng)建新的元素。

這顆節(jié)點(diǎn)樹展示了節(jié)點(diǎn)的集合,以及它們之間的聯(lián)系。這棵樹從根節(jié)點(diǎn)開始,然后在樹的最低層級(jí)向文本節(jié)點(diǎn)長(zhǎng)出枝條:

nodetree.gif

上面的圖片表示 XML 文件 books.xml。


父節(jié)點(diǎn)、子節(jié)點(diǎn)和同級(jí)節(jié)點(diǎn)

節(jié)點(diǎn)樹中的節(jié)點(diǎn)彼此之間都有層級(jí)關(guān)系。

父節(jié)點(diǎn)、子節(jié)點(diǎn)和同級(jí)節(jié)點(diǎn)用于描述這種關(guān)系。父節(jié)點(diǎn)擁有子節(jié)點(diǎn),位于相同層級(jí)上的子節(jié)點(diǎn)稱為同級(jí)節(jié)點(diǎn)(兄弟或姐妹)。

  • 在節(jié)點(diǎn)樹中,頂端的節(jié)點(diǎn)稱為根節(jié)點(diǎn)

  • 根節(jié)點(diǎn)之外的每個(gè)節(jié)點(diǎn)都有一個(gè)父節(jié)點(diǎn)

  • 節(jié)點(diǎn)可以有任何數(shù)量的子節(jié)點(diǎn)

  • 葉子是沒有子節(jié)點(diǎn)的節(jié)點(diǎn)

  • 同級(jí)節(jié)點(diǎn)是擁有相同父節(jié)點(diǎn)的節(jié)點(diǎn)

下面的圖片展示出節(jié)點(diǎn)樹的一個(gè)部分,以及節(jié)點(diǎn)間的關(guān)系:

navigate.gif

因?yàn)?XML 數(shù)據(jù)是按照樹的形式進(jìn)行構(gòu)造的,所以可以在不了解樹的確切結(jié)構(gòu)且不了解其中包含的數(shù)據(jù)類型的情況下,對(duì)其進(jìn)行遍歷。

您將在本教程稍后的章節(jié)學(xué)習(xí)更多有關(guān)遍歷節(jié)點(diǎn)樹的知識(shí)。


第一個(gè)子節(jié)點(diǎn) - 最后一個(gè)子節(jié)點(diǎn)

請(qǐng)看下面的 XML 片段:

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

在上面的 XML 中,<title> 元素是 <book> 元素的第一個(gè)子節(jié)點(diǎn),而 <price> 元素是 <book> 元素的最后一個(gè)子節(jié)點(diǎn)。

此外,<book> 元素是 <title>、<author>、<year> 和 <price> 元素的父節(jié)點(diǎn)。