XML DOM 添加节点


XML DOM(文档对象模型)是一个广泛使用的 API,用于操作 XML 文档的节点、属性和数据。在 XML DOM 中添加节点是非常常见的操作,接下来就详细介绍一下如何通过 XML DOM 添加节点。

在 XML 中添加节点有几种不同的方式,例如createElement() 和appendChild() 方法。下面分别介绍这两种方法的使用。

createElement() 方法用于创建新的元素节点,并将其添加到文档中(仅在元素节点中下面添加)。该方法有两个参数,第一个参数为要创建的元素节点的名称,第二个参数为可选参数,设置要创建的元素节点的文本。

例如,在下面的 XML 代码中添加一个名为“product” 的新元素节点:

<?xml version="1.0" encoding="UTF-8" ?>
<catalog>
  <book id="bk101">
    <author>Gambardella, Matthew</author>
    <title>XML Developer's Guide</title>
    <price>44.95</price>
    <publish_date>2000-10-01</publish_date>
  </book>
  <!-- Add the new product element here -->
</catalog>

可以按照以下步骤添加新节点:

// 获取根节点
var catalog = document.querySelector("catalog");
// 创建一个新元素
var newElement = document.createElement("product");
// 将新元素添加到根节点的最后一个元素后
catalog.appendChild(newElement);

在上面的代码中,使用了 createElement() 方法创建了一个名为 “product” 的新元素节点,并将其添加到 XML 文档的最后面。最终的 XML 代码如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <book id="bk101">
    <author>Gambardella, Matthew</author>
    <title>XML Developer's Guide</title>
    <price>44.95</price>
    <publish_date>2000-10-01</publish_date>
  </book>
  <product></product>
</catalog>

如果你希望把新添加的节点放到特定的已有节点后面,可以使用 insertBefore() 方法。该方法接受两个参数,第一个参数是要插入的新节点名称,第二个参数是要插入的标记之前的节点。以下是一个简单的例子:

// 获取要插入的新元素
var newElement = document.createElement("product");
// 找到要插入的元素的下一个兄弟姐妹
var referenceElement = document.querySelector("catalog > book");
// 在catalog元素中插入新元素
catalog.insertBefore(newElement, referenceElement.nextSibling);

在上面的代码中,使用 querySelector() 方法获取了 “book” 元素节点作为参照物,并使用 insertBefore() 方法将新节点插入到 “book” 元素节点之后。最终的XML代码如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <book id="bk101">
    <author>Gambardella, Matthew</author>
    <title>XML Developer's Guide</title>
    <price>44.95</price>
    <publish_date>2000-10-01</publish_date>
  </book>
  <product></product>
</catalog>

在这篇技术文档中,我们介绍了两种方法来添加新的节点到 XML 文档中,分别是 createElement() 和appendChild() 方法。无论你要添加多少个新节点,都可以使用这两种方法来完成。