XML DOM 高級
XML DOM - 高級
在本教程的較早章節中,我們介紹了XML DOM,並使用了XML DOM的getElementsByTagName()方法從XML文檔中取回數據。
在本章中我們將結合一些其他重要的XML DOM 方法。
您可以在我們的XML DOM教程中學習更多有關XML DOM的知識。
獲取元素的值
下面的實例中使用的XML文件: books.xml 。
下面的實例檢索第一個<title> 元素的文本值:
獲取屬性的值
下面的實例檢索第一個<title> 元素的"lang" 屬性的文本值:
改變元素的值
下面的實例改變第一個<title> 元素的文本值:
創建新的屬性
XML DOM 的setAttribute() 方法可用於改變現有的屬性值,或創建一個新的屬性。
下面的實例創建了一個新的屬性(edition="first"),然後把它添加到每一個<book> 元素中:
實例
for(i=0;i<x.length;i++)
{
x[i].setAttribute("edition","first");
}
嘗試一下»
創建元素
XML DOM 的createElement() 方法創建一個新的元素節點。
XML DOM 的createTextNode() 方法創建一個新的文本節點。
XML DOM 的appendChild() 方法向節點添加子節點(在最後一個子節點之後)。
如需創建帶有文本內容的新元素,需要同時創建元一個新的元素節點和一個新的文本節點,然後把他追加到現有的節點。
下面的實例創建了一個新的元素(<edition>),帶有如下文本:First,然後把它添加到第一個<book> 元素:
實例
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book");
x[0].appendChild(newel);
嘗試一下»
實例解釋
- 創建一個<edition> 元素
- 創建值為"First" 的文本節點
- 把這個文本節點追加到新的<edition> 元素
- 把<edition> 元素追加到第一個<book> 元素
刪除元素
下面的實例刪除第一個<book> 元素的第一個節點:
註釋:上面實例的結果可能會根據所用的瀏覽器而不同。Firefox 把新行字符當作空的文本節點,而Internet Explorer 不是這樣。 您可以在我們的XML DOM教程中閱讀到更多有關這個問題以及如何避免它的知識。