使用DOM替换XML节点通常需要以下步骤:

1. 获取要替换的节点。
2. 创建新的节点。
3. 找到要替换节点的父节点。
4. 通过父节点用新节点替换目标节点。
5. 保存文档(如果需要)。

以下是一个简单的JavaScript示例:
// 创建一个 XMLHttpRequest 对象(用于获取 XML 文档)
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    // 当 XML 文档加载完成时执行的回调函数
    replaceXmlNode(this);
  }
};
// 打开并发送请求
xhttp.open("GET", "your_xml_file.xml", true);
xhttp.send();

// 替换 XML 节点
function replaceXmlNode(xml) {
  var xmlDoc = xml.responseXML;

  // 获取要替换的节点
  var elementToReplace = xmlDoc.getElementsByTagName("element1")[0];

  // 创建新的节点
  var newElement = xmlDoc.createElement("newElement");
  var newText = xmlDoc.createTextNode("New Value");
  newElement.appendChild(newText);

  // 找到要替换节点的父节点,并通过父节点用新节点替换目标节点
  var parent = elementToReplace.parentNode;
  parent.replaceChild(newElement, elementToReplace);

  // 输出替换后的 XML 内容
  var xmlString = new XMLSerializer().serializeToString(xmlDoc);
  console.log(xmlString);

  // 保存更改(如果需要)
  // 可以将 xmlString 发送到服务器或以其他方式进行处理
}

上述代码中,getElementsByTagName 方法用于获取名为 "element1" 的节点。然后,通过使用 createElement 和 createTextNode 创建新的节点和文本内容。最后,通过访问要替换节点的 parentNode 属性,找到节点的父节点,并使用 replaceChild 方法从父节点中用新节点替换目标节点。

最后,如果需要将更改保存回XML文档,你可以使用 XMLSerializer 将修改后的文档序列化为字符串,然后进行相应的处理。在实际应用中,你可能需要将更改的文档发送到服务器或以其他方式进行处理。


转载请注明出处:http://www.zyzy.cn/article/detail/14571/XML DOM