XML DOM 替換節點

replaceChild() 方法替換指定的節點。

nodeValue 屬性替換文本節點中的文本。

替換元素節點

replaceChild() 方法用于替換節點。

以下代碼片段替換第一個 <book> 元素:

實例

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
// 創建一個 book 元素、title 元素和一個文本節點
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("一本新書");
// 將文本節點添加到 title 節點
newTitle.appendChild(newText);
// 將這個 title 節點添加到 book 節點
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
// 用新節點替換第一個 book 節點
x.replaceChild(newNode,y);

親自試一試

例子解釋:

  1. books.xml 加載到 xmlDoc
  2. 創建新的元素節點 <book>
  3. 創建新的元素節點 <title>
  4. 創建新的文本節點,其中包含文本 "一本新書"
  5. 將這個新的文本節點追加到新的元素節點 <title>
  6. 將這個新的元素節點 <title> 追加到新的元素節點 <book>
  7. 將第一個 <book> 元素節點替換為新的 <book> 元素節點

替換文本節點中的數據

replaceData() 方法用于替換文本節點中的數據。

replaceData() 方法有三個參數:

  • offset - 從哪里開始替換字符。偏移值從零開始
  • length - 要替換的字符數
  • string - 要插入的字符串

實例

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,4,"一本新書");

親自試一試

例子解釋:

  1. books.xml 加載到 xmlDoc
  2. 獲取第一個 <title> 元素節點的文本節點
  3. 使用 replaceData() 方法將文本節點的前八個字符替換為 "一本新書"

使用 nodeValue 屬性代替

使用 nodeValue 屬性更容易替換文本節點中的數據。

下面的代碼片段將用 "一本新書" 替換第一個 <title> 元素中的文本節點值:

實例

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="一本新書";

親自試一試

例子解釋:

  1. books.xml 加載到 xmlDoc
  2. 獲取第一個 <title> 元素節點的文本節點
  3. 使用 nodeValue 屬性來更改文本節點的文本

您可以在 改變節點 這一章中閱讀有關更改節點值的更多內容。