XML DOM 改變節(jié)點值
nodeValue 屬性用于改變節(jié)點值。
setAttribute() 方法用于改變屬性的值。
實例
下面的例子使用 XML 文件 books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。
- 改變元素的文本節(jié)點
- 本例使用 nodeValue 屬性來改變 "books.xml" 中第一個 <title> 元素的文本節(jié)點。
- 通過使用 setAttribute 來改變屬性的值
- 本例使用 setAttribute() 方法來改變第一個 <book> 的 "category" 屬性的值。
- 通過使用 nodeValue 來改變屬性值
- 本例使用 nodeValue 屬性來改變第一個 <book> 的 "category" 屬性的值。
改變元素的值
在 DOM 中,每種成分都是節(jié)點。元素節(jié)點沒有文本值。
元素節(jié)點的文本存儲在子節(jié)點中。該節(jié)點稱為文本節(jié)點。
改變元素文本的方法,就是改變這個子節(jié)點(文本節(jié)點)的值。
改變文本節(jié)點的值
nodeValue 屬性可用于改變文本節(jié)點的值。
下面的代碼片段改變了第一個 <title> 元素的文本節(jié)點值:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Hello World";
例子解釋:
- 通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 獲取第一個 <title> 元素的文本節(jié)點
- 把此文本節(jié)點的節(jié)點值更改為 "Hello World"
遍歷并更改所有 <title> 元素的文本節(jié)點:TIY
改變屬性的值
在 DOM 中,屬性也是節(jié)點。與元素節(jié)點不同,屬性節(jié)點擁有文本值。
改變屬性的值的方法,就是改變它的文本值。
可以通過使用 setAttribute() 方法或?qū)傩怨?jié)點的 nodeValue 屬性來完成這個任務(wù)。
通過使用 setAttribute() 來改變屬性
setAttribute() 方法設(shè)置已有屬性的值,或創(chuàng)建新屬性。
下面的代碼改變 <book> 元素的 category 屬性:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("category","child");
例子解釋:
- 通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 獲取第一個 <book> 元素
- 把 "category" 屬性的值更改為 "child"
遍歷所有 <title> 并添加一個新屬性:TIY
注釋:如果屬性節(jié)點不存在,則創(chuàng)建一個新屬性(擁有指定的名稱和值)。
通過使用 nodeValue 改變屬性
nodeValue 屬性可用于更改屬性節(jié)點的值:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0] y=x.getAttributeNode("category"); y.nodeValue="child";
例子解釋:
- 通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 獲取第一個 <book> 元素的 "category" 屬性
- 把該屬性節(jié)點的值更改為 "child"