目录

XML DOM 添加节点


添加节点 -appendChild()

这个追加子对象()方法将子节点添加到现有节点。

新节点添加(附加)在任何现有子节点之后。

笔记:如果节点的位置很重要,请使用 insertBefore()。

此代码片段创建一个元素 (<edition>),并将其添加到第一个 <book> 元素的最后一个子元素之后:

示例

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
亲自试一试 »

示例解释:

  1. 认为书籍.xml被加载到 xmlDoc 中
  2. 创建一个新节点<版本>
  3. 将节点附加到第一个 <book> 元素

此代码片段的作用与上面相同,但新元素添加了一个值:

示例

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
亲自试一试 »

示例解释:

  1. 认为书籍.xml被加载到 xmlDoc 中
  2. 创建一个新节点<版本>
  3. 创建一个新的文本节点"first"
  4. 将文本节点追加到 <edition> 节点
  5. 将 <addition> 节点附加到 <book> 元素


插入节点 - insertBefore()

这个在()之前插入方法在指定的子节点之前插入一个节点。

当添加的节点的位置很重要时,此方法很有用:

示例

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);
亲自试一试 »

示例解释:

  1. 认为书籍.xml被加载到 xmlDoc 中
  2. 创建新元素节点<book>
  3. 将新节点插入到最后一个 <book> 元素节点前面

如果 insertBefore() 的第二个参数为 null,则新节点将添加到最后一个现有子节点之后。

x.insertBefore(newNode,null)x.appendChild(newNode)都会向 x 追加一个新的子节点。


添加新属性

这个设置属性()方法设置属性的值。

示例

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
亲自试一试 »

示例解释:

  1. 认为书籍.xml已加载到 xmlDoc 中
  2. 将第一个 <book> 元素的属性 "edition" 的值设置为 "first"

没有名为 add Attribute() 的方法
如果属性不存在,setAttribute() 将创建一个新属性。

笔记:如果该属性已存在,setAttribute() 方法将覆盖现有值。


将文本添加到文本节点 - insertData()

这个插入数据()方法将数据插入现有文本节点。

insertData() 方法有两个参数:

  • offset - 从哪里开始插入字符(从零开始)
  • string - 要插入的字符串

以下代码片段会将 "Easy" 添加到加载的 XML 的第一个 <title> 元素的文本节点:

示例

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");
亲自试一试 »