XML DOM 替換節(jié)點
DOM 替換節(jié)點可以使用 replaceChild() 方法來實現(xiàn),replaceChild() 方法用來將舊的節(jié)點替換成新的節(jié)點。
replaceChild() 方法替換指定節(jié)點。
nodeValue 屬性替換文本節(jié)點中的文本。

嘗試一下 - 實例
下面的實例使用 XML 文件 books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。
替換元素節(jié)點
本例使用 replaceChild() 來替換第一個 <book> 節(jié)點。
替換文本節(jié)點中的數(shù)據(jù)
本例使用 nodeValue 屬性來替換文本節(jié)點中的數(shù)據(jù)。
替換元素節(jié)點
replaceChild() 方法用于替換節(jié)點。
下面的代碼片段替換第一個 <book> 元素:
實例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個新的元素節(jié)點 <book>
- 創(chuàng)建一個新的元素節(jié)點 <title>
- 創(chuàng)建一個新的文本節(jié)點,帶有文本 "A Notebook"
- 向新元素節(jié)點 <title> 追加這個新文本節(jié)點
- 向新元素節(jié)點 <book> 追加這個新元素節(jié)點 <title>
- 把第一個 <book> 元素節(jié)點替換為新的 <book> 元素節(jié)點
替換文本節(jié)點中的數(shù)據(jù)
replaceData() 方法用于替換文本節(jié)點中的數(shù)據(jù)。
replaceData() 方法有三個參數(shù):
- offset - 在何處開始替換字符。offset 值以 0 開始。
- length - 要替換多少字符
- string - 要插入的字符串
實例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 獲取第一個 <title> 元素節(jié)點的文本節(jié)點
- 使用 replaceData 方法把文本節(jié)點的前 8 個字符替換為 "Easy"
使用 nodeValue 屬性代替
用 nodeValue 屬性來替換文本節(jié)點中數(shù)據(jù)會更加容易。
下面的代碼片段將用 "Easy Italian" 替換第一個 <title> 元素中的文本節(jié)點值:
實例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 獲取第一個 <title> 元素節(jié)點的文本節(jié)點
- 使用 nodeValue 屬性來更改這個文本節(jié)點的文本
您可以在改變節(jié)點這一章中閱讀更多有關更改節(jié)點值的內容。
當節(jié)點替換完成之后,原來的文本和標記替換成為新的文本和標記。
更多建議: