javascript 操作XML

來源:互聯網
上載者:User
  JavaScript操作XML是通過XML DOM來完成的。
那麼什麼是XML DOM呢?
XML DOM 是:

  • 用於 XML 的標準物件模型
  • 用於 XML 的標準編程介面
  • 中立於平台和語言
  • W3C 的標準

XML DOM 定義了所有XML 元素的對象和屬性,以及訪問它們的方法(介面)。
也就是說:
XML DOM 是用於查詢、添加、修改、刪除XML 元素的標準。

在繼續之前,我們先來瞭解一下XML的定義。
請看下面的 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">
  <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"。

XML 文檔中的每個成分都是一個節點。

節點

根據 DOM,XML 文檔中的每個成分都是一個節點。
DOM 是這樣規定的:

  • 整個文檔是一個文檔節點
  • 每個 XML 標籤是一個元素節點
  • 包含在 XML 元素中的文本是文本節點
  • 每一個 XML 屬性是一個屬性節點
  • 注釋屬於注釋節點
文本總是儲存在文本節點中

在 DOM 處理中一個普遍的錯誤是,認為元素節點包含文本。
不過,元素節點的文本是儲存在文本節點中的。
在這個例子中:<year>2005</year>,元素節點 <year>,擁有一個值為 "2005" 的文本節點。
2005" 不是 <year> 元素的值!

XML DOM 把 XML DOM 文檔視為一棵節點樹 (node-tree)。
樹中的所有節點彼此之間都有關係。

XML DOM 節點樹

XML DOM 把 XML 文檔視為一種樹結構。這種樹結構被稱為節點樹。
可通過這棵樹訪問所有節點。可以修改或刪除它們的內容,也可以建立新的元素。
這顆節點樹展示了節點的集合,以及它們之間的聯絡。這棵樹從根節點開始,然後在樹的最低層級向文本節點長出枝條:

父、子和兄弟節點

節點樹中的節點彼此之間都有等級關係。
父、子和兄弟節點用於描述這種關係。父節點擁有子節點,位於相同層級上的子節點稱為兄弟節點。

  • 在節點樹中,頂端的節點成為根節點
  • 根節點之外的每個節點都有一個父節點
  • 節點可以有任何數量的子節點
  • 葉子是沒有子節點的節點
  • 兄弟節點是擁有相同父節點的節點  

在上面的 XML 中,<title> 元素是 <book> 元素的第一個子節點,而 <price> 元素是 <book> 元素的最後一個子節點。
此外,<book> 元素是 <title>、<author>、<year> 以及 <price> 元素的父節點。

Note: 父節點:Parent Node,子節點:Children Node,同級節點:Sibling Node

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.