在DOM,一切XML文檔中的一個節點。
DOM節點
根據DOM中,一切在XML文檔中是一個node 。
DOM中說:
- 整個文檔是文檔節點
- 每個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>包含了四個<book>節點。
第一個<book>節點包含了四個節點: <title>, <author>, <year>和<price> ,其中包含一個文本節點的每個, "Everyday Italian", "Giada De Laurentiis" , "2005"和"30.00"
文本是文本節點總是存儲
在DOM處理一個常見的錯誤是期望包含文字元素節點。
然而,元素節點的文本存儲在文本節點。
在這個例子中: <year>2005</year> ,元素節點<year> ,保存與價值文本節點"2005" 。
“2005”是not該值<year>元素!
該XML DOM節點樹
該XML DOM將XML文檔作為樹結構。 樹結構被稱為node-tree.
所有節點都可以通過樹進行訪問。 它們的內容可以修改或刪除,並且新的元素可以被創建。
節點樹示出了節點集,和它們之間的連接。 樹開始於根節點和流出到在樹的最低層的文本節點分支:
上面的圖片表示XML文件的Books.xml 。
節點父母,子女,兄弟姐妹和
在節點樹中的節點必須彼此的層級關係。
術語父母,子女,兄弟姐妹和用於描述該關係。 父節點有孩子。 在同一水平上的孩子被稱為兄弟姐妹(brothers or sisters) 。
- 在節點樹中,頂節點被稱為根
- 每個節點,除了根,有且只有一個父節點
- 一個節點可以有任意數量的子
- 葉是一個沒有孩子的節點
- 兄弟姐妹都使用相同的父節點
下面的圖像示出了節點樹和節點之間的關係中的一部分:
因為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> , and <price> elements. <title>, <author>, <year> , and <price> elements.