最新的Web開發教程
 

XML DOM節點


在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.

所有節點都可以通過樹進行訪問。 它們的內容可以修改或刪除,並且新的元素可以被創建。

節點樹示出了節點集,和它們之間的連接。 樹開始於根節點和流出到在樹的最低層的文本節點分支:

DOM節點樹

上面的圖片表示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.