在DOM中,要添加节点到XML文档,你可以使用createElement创建新的元素节点,并通过appendChild或insertBefore将新节点添加到目标位置。以下是一个简单的JavaScript示例:
// 创建一个 XMLHttpRequest 对象(用于获取 XML 文档)
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    // 当 XML 文档加载完成时执行的回调函数
    addXmlNode(this);
  }
};
// 打开并发送请求
xhttp.open("GET", "your_xml_file.xml", true);
xhttp.send();

// 添加 XML 节点
function addXmlNode(xml) {
  var xmlDoc = xml.responseXML;

  // 创建新的元素节点
  var newElement = xmlDoc.createElement("newElement");

  // 创建新的文本节点
  var newText = xmlDoc.createTextNode("This is the text content of the new element");

  // 将文本节点添加到元素节点中
  newElement.appendChild(newText);

  // 获取要添加新节点的父节点
  var parent = xmlDoc.getElementsByTagName("root")[0];

  // 添加新节点到父节点的末尾
  // parent.appendChild(newElement);

  // 或者,将新节点插入到指定位置
  var referenceNode = xmlDoc.getElementsByTagName("existingElement")[0];
  parent.insertBefore(newElement, referenceNode);

  // 输出添加新节点后的 XML 内容
  var xmlString = new XMLSerializer().serializeToString(xmlDoc);
  console.log(xmlString);

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

在这个例子中,首先使用createElement创建一个名为"newElement"的新元素节点,然后使用createTextNode创建一个文本节点,设置其文本内容。接着,将文本节点添加到元素节点中,找到要添加新节点的父节点,使用appendChild将新节点添加到父节点的末尾。如果你想要插入到指定位置,可以使用insertBefore方法,传递要插入的新节点和参考节点。

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


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