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() 方法。无论你要添加多少个新节点,都可以使用这两种方法来完成。