XML DOM 改變節點值
nodeValue 屬性用於改變節點值。
setAttribute() 方法用於改變屬性值。

嘗試一下 - 實例
下麵的實例使用 XML 檔 books.xml。
函數 loadXMLDoc(),位於外部 JavaScript 中,用於加載 XML 檔。
本例使用 nodeValue 屬性來改變 "books.xml" 中第一個 <title> 元素的文本節點。
本例使用 setAttribute() 方法來改變第一個 <book> 的 "category" 屬性的值。
本例使用 nodeValue 屬性來改變第一個 <book> 的 "category" 屬性的值。
改變元素的值
在 DOM 中,每種成分都是節點。元素節點沒有文本值。
元素節點的文本存儲在子節點中。該節點稱為文本節點。
改變元素文本的方法,就是改變這個子節點(文本節點)的值。
改變文本節點的值
nodeValue 屬性可用於改變文本節點的值。
下麵的代碼片段改變了第一個 <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"
遍曆並更改所有 <title> 元素的文本節點:
改變屬性的值
在 DOM 中,屬性也是節點。與元素節點不同,屬性節點擁有文本值。I
改變屬性的值的方法,就是改變它的文本值。
可以通過使用 setAttribute() 方法或屬性節點的 nodeValue 屬性來完成這個任務。
通過使用 setAttribute() 改變屬性
setAttribute() 方法改變已有屬性的值,或創建新屬性。
下麵的代碼改變 <book> 元素的 category 屬性:
實例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");
實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 獲取第一個 <book> 元素
- 把 "category" 屬性的值更改為 "food"
遍曆所有的 <title> 元素並添加一個新屬性:
注意:如果屬性不存在,則創建一個新屬性(擁有指定的名稱和值)。
通過使用 nodeValue 改變屬性
nodeValue 屬性可用於更改屬性節點的值:
實例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";
實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 獲取第一個 <book> 元素的 "category" 屬性
- 把該屬性節點的值更改為 "food"