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);
例子解釋:
- 將 books.xml 加載到
xmlDoc
中 - 創建新的元素節點 <book>
- 創建新的元素節點 <title>
- 創建新的文本節點,其中包含文本 "一本新書"
- 將這個新的文本節點追加到新的元素節點 <title>
- 將這個新的元素節點 <title> 追加到新的元素節點 <book>
- 將第一個 <book> 元素節點替換為新的 <book> 元素節點
替換文本節點中的數據
replaceData()
方法用于替換文本節點中的數據。
replaceData()
方法有三個參數:
- offset - 從哪里開始替換字符。偏移值從零開始
- length - 要替換的字符數
- string - 要插入的字符串
實例
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,4,"一本新書");
例子解釋:
- 將 books.xml 加載到
xmlDoc
中 - 獲取第一個 <title> 元素節點的文本節點
- 使用
replaceData()
方法將文本節點的前八個字符替換為 "一本新書"
使用 nodeValue 屬性代替
使用 nodeValue
屬性更容易替換文本節點中的數據。
下面的代碼片段將用 "一本新書" 替換第一個 <title> 元素中的文本節點值:
實例
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="一本新書";
例子解釋:
- 將 books.xml 加載到
xmlDoc
中 - 獲取第一個 <title> 元素節點的文本節點
- 使用
nodeValue
屬性來更改文本節點的文本
您可以在 改變節點 這一章中閱讀有關更改節點值的更多內容。