XML DOM 節點信息
nodeName、nodeValue 和nodeType 屬性包含有關節點的信息。
嘗試一下- 實例
下面的實例使用XML文件books.xml 。
函數loadXMLDoc() ,位於外部JavaScript中,用於加載XML文件。
獲取元素節點的節點名稱
本例使用nodeName 屬性來獲取"books.xml" 中根元素的節點名稱。
從文本節點獲取文本
本例使用nodeValue 屬性來獲取"books.xml" 中第一個<title> 元素的文本。
更改文本節點中的文本
本例使用nodeValue 屬性來更改"books.xml" 中第一個<title> 元素的文本。
獲取元素節點的節點名稱和類型
本例使用nodeName 和nodeType 屬性來獲取"books.xml" 中根元素的節點名稱和類型。
節點的屬性
在XML DOM中,每個節點都是一個對象 。
對象擁有方法和屬性,並可通過JavaScript 進行訪問和操作。
三個重要的節點屬性是:
- nodeName
- nodeValue
- nodeType
nodeName 屬性
nodeName 屬性規定節點的名稱。
- nodeName 是只讀的
- 元素節點的nodeName 與標籤名相同
- 屬性節點的nodeName 是屬性的名稱
- 文本節點的nodeName 永遠是#text
- 文檔節點的nodeName 永遠是#document
nodeValue 屬性
nodeValue 屬性規定節點的值。
- 元素節點的nodeValue 是undefined
- 文本節點的nodeValue 是文本本身
- 屬性節點的nodeValue 是屬性的值
獲取元素的值
下面的代碼檢索第一個<title> 元素的文本節點的值:
實例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
txt=x.nodeValue;
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
txt=x.nodeValue;
嘗試一下»
結果:txt = "Everyday Italian"
實例解釋:
- 使用loadXMLDoc()把" books.xml "載入xmlDoc中
- 獲取第一個<title> 元素節點的文本節點
- 把txt 變量設置為文本節點的值
更改元素的值
下面的代碼更改第一個<title> 元素的文本節點的值:
實例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";
嘗試一下»
實例解釋:
- 使用loadXMLDoc()把" books.xml "載入xmlDoc中
- 獲取第一個<title> 元素節點的文本節點
- 更改文本節點的值為"Easy Cooking"
nodeType 屬性
nodeType 屬性規定節點的類型。
nodeType 是只讀的。
最重要的節點類型是:
节点类型 | NodeType |
---|---|
元素 | 1 |
属性 | 2 |
文本 | 3 |
注释 | 8 |
文档 | 9 |