XML DOM 節點
根據 XML DOM,XML 文件中的所有內容都是一個節點
- 整個文件是一個文件節點
- 每個 XML 元素都是一個元素節點
- XML 元素中的文字是文字節點
- 每個屬性都是一個屬性節點
- 註釋是註釋節點
DOM 示例
請看下面的 XML 檔案 (books.xml)
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</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>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
上面 XML 中的根節點名為 <bookstore>。
文件中的所有其他節點都包含在 <bookstore> 中。
根節點 <bookstore> 包含 4 個 <book> 節點。
第一個 <book> 節點包含子節點:<title>、<author>、<year> 和 <price>。
子節點各包含一個文字節點,分別為“Everyday Italian”、“Giada De Laurentiis”、“2005”和“30.00”。
文字始終儲存在文字節點中
DOM 處理中一個常見的錯誤是期望元素節點包含文字。
然而,元素節點的文字儲存在文字節點中。
在此示例中:<year>2005</year>,元素節點 <year> 包含一個值為“2005”的文字節點。
“2005”不是 <year> 元素的值!
XML DOM 節點樹
XML DOM 將 XML 文件視為樹形結構。該樹形結構稱為節點樹。
所有節點都可以透過該樹訪問。它們的內容可以被修改或刪除,並且可以建立新的元素。
節點樹顯示了節點集以及它們之間的連線。樹從根節點開始,並分支到樹的最底層文字節點

上圖表示 XML 檔案 books.xml。
節點父級、子級和同級
節點樹中的節點彼此之間具有層次關係。
父級、子級和同級等術語用於描述這些關係。父節點有子節點。同一級別的子節點稱為同級(兄弟姐妹)。
- 在節點樹中,頂部節點稱為根節點
- 除根節點外,每個節點都只有一個父節點
- 一個節點可以有任意數量的子節點
- 葉節點是沒有子節點的節點
- 同級節點是具有相同父節點的節點
下圖展示了節點樹的一部分以及節點之間的關係

由於 XML 資料以樹形結構排列,因此可以在不知道樹的精確結構和其中包含的資料型別的情況下進行遍歷。
您將在本教程的後續章節中學習更多關於遍歷節點樹的知識。
第一個子節點 - 最後一個子節點
請看下面的 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> 元素的第一個子節點,<price> 元素是 <book> 元素的最後一個子節點。
此外,<book> 元素是 <title>、<author>、<year> 和 <price> 元素的父節點。