XML DOM 添加节点
尝试一下 - 实例
下面的实例使用XML文件 books.xml.
在最后一个子节点之后添加一个节点
本例使用appendChild()将子节点添加到现有节点。
在指定子节点前添加节点
此实例使用insertBefore()在指定的子节点之前插入节点。
添加新属性
本例使用setAttribute()方法添加新属性。
向文本节点添加数据
本例使用insertData()将数据插入现有文本节点。
添加节点-appendChild()
appendChild() 方法将子节点添加到现有节点。
新节点将添加(附加)到任何现有子节点之后。
注释: 如果节点的位置很重要,请使用insertBefore()。
此代码片段创建一个元素(<edition>),并将其添加到第一个<book>元素的最后一个子元素之后:
实例
newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
尝试一下 »
实例说明:
- 假设 "books.xml"被加载到 xmlDoc 中
- 创建新节点 <edition>
- 将节点附加到第一个<book>元素
此代码片段执行与上面相同的操作,但新元素添加了一个值:
实例
newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
尝试一下 »
实例说明:
- 假设 "books.xml"被加载到 xmlDoc 中
- 创建新节点 <edition>
- 创建新的文本节点 "first"
- 将文本节点附加到<edition>节点
- 将<addition>节点附加到<book>元素
插入节点-insertBefore()
insertBefore() 方法的作用是:在指定的子节点之前插入一个节点。
当添加的节点的位置很重要时,此方法很有用:
实例
newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
尝试一下 »
实例说明:
- 假设 "books.xml"被加载到 xmlDoc 中
- 创建新元素节点 <book>
- 在最后一个<book>元素节点前面插入新节点
如果insertBefore()的第二个参数为空,则新节点将添加到最后一个现有子节点之后。
x.insertBefore(newNode,null) 和 x.appendChild(newNode) 都将向x追加一个新的子节点。
添加新属性
setAttribute() 方法设置属性的值。
实例说明:
- 假设 "books.xml"被加载到 xmlDoc 中
- 对于第一个<book>元素,将属性te "edition"的值设置为"first"
如果没有名为 Attribute()的方法
如果属性不存在,setAttribute()将创建一个新属性。
注释: 如果属性已经存在,setAttribute()方法将覆盖现有值。
向文本节点添加文本-insertData()
insertData() 方法将数据插入到现有的文本节点中。
insertData() 方法有两个参数:
- offset - 从何处开始插入字符(从零开始)
- string - 要插入的字符串
以下代码片段将向加载的XML的第一个<title> 元素的文本节点添加"Easy":