五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 建站教程 > XML 教程 > XML DOM 高級(jí)

XML DOM 高級(jí)

此節(jié)有 194 人學(xué)習(xí)過     參與評(píng)論

XML DOM (Document Object Model) 定義了訪問和操作 XML 文檔的標(biāo)準(zhǔn)方法。

XML DOM

DOM 把 XML 文檔視為一種樹結(jié)構(gòu)。通過這個(gè) DOM 樹,可以訪問所有的元素??梢孕薷乃鼈兊膬?nèi)容(文本以及屬性),而且可以創(chuàng)建新的元素。元素,以及它們的文本和屬性,均被視為節(jié)點(diǎn)。

在本教程的較早章節(jié)中,我們介紹了 XML DOM,并使用了 XML DOM 的 getElementsByTagName() 從 DOM 樹中取回?cái)?shù)據(jù)。

在本節(jié)中,我們將講解一些其他較常用的 XML DOM 方法。在本例中,我們使用 XML 文件 books.xml,并使用一個(gè) JavaScript 函數(shù)把 XML 文件加載到名為 xmlDoc 的 DOM 對(duì)象中。

如需學(xué)習(xí)更多有關(guān) XML DOM 的知識(shí),請(qǐng)?jiān)L問我們的 XML DOM 教程

獲取元素的值

下面的代碼檢索第一個(gè) <title> 元素的文本值:

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
txt=x.nodeValue;

結(jié)果:txt = "Harry Potter"

親自試一試

獲取屬性的值

下面的代碼檢索第一個(gè) <title> 元素的 "lang" 屬性的文本值:

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

結(jié)果:txt = "en"

親自試一試

改變?cè)氐闹?/h2>

下面的代碼改變第一個(gè) <title> 元素的文本值:

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

親自試一試

改變屬性的值

setAttribute() 方法可用于改變已有屬性的值,或創(chuàng)建一個(gè)新屬性。

下面的代碼向每個(gè) <book> 元素添加了名為 "edition" 的新屬性(值是 "first"):

x=xmlDoc.getElementsByTagName("book");

for(i=0;i<x.length;i++)
  {
  x[i].setAttribute("edition","first");
  }

親自試一試

創(chuàng)建元素

createElement() 方法創(chuàng)建新的元素節(jié)點(diǎn)。

createTextNode() 方法創(chuàng)建新的文本節(jié)點(diǎn)。

appendChild() 方法向節(jié)點(diǎn)添加子節(jié)點(diǎn)(在最后一個(gè)子節(jié)點(diǎn)之后)。

如需創(chuàng)建帶有文本內(nèi)容的新元素,需要同時(shí)創(chuàng)建元素節(jié)點(diǎn)和文本節(jié)點(diǎn)。

下面的代碼創(chuàng)建了一個(gè)元素 (<edition>),然后把它添加到第一個(gè) <book> 元素中:

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);

x=xmlDoc.getElementsByTagName("book");
x[0].appendChild(newel);

例子解釋:

  1. 創(chuàng)建 <edition> 元素
  2. 創(chuàng)建值為 "First" 的文本節(jié)點(diǎn)
  3. 把這個(gè)文本節(jié)點(diǎn)追加到 <edition> 元素
  4. 把 <edition> 元素追加到第一個(gè) <book> 元素

親自試一試

刪除元素

removeChild() 方法刪除指定的節(jié)點(diǎn)(或元素)。

下面的代碼片段將刪除第一個(gè) <book> 元素中的第一個(gè)節(jié)點(diǎn):

x=xmlDoc.getElementsByTagName("book")[0];

x.removeChild(x.childNodes[0]);

親自試一試

注釋:上例的結(jié)果可能會(huì)根據(jù)所用的瀏覽器而不同。Firefox 把新行字符當(dāng)作空的文本節(jié)點(diǎn),而 Internet Explorer 不是這樣。您可以在 365jz 的 XML DOM 教程中閱讀到更多有關(guān)這個(gè)問題以及如何避免它的知識(shí)。

這里提供的 XML DOM 實(shí)例,只向您展示了少數(shù)幾項(xiàng)我們可以利用 XML DOM 完成的工作。

如需學(xué)習(xí)更多有關(guān) XML DOM 的知識(shí),請(qǐng)?jiān)L問 365jz 的 XML DOM 教程

如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (194人查看0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)