XML DOM 添加节点

XML DOM appendChild() 方法用于向一个已有的节点添加一个子节点

新节点会追加到任何已有的子节点之后

注意: 如果要在某个节点前插入节点,可以使用 insertBefore() 方法

范例

下面的 JavaScript 代码创建一个元素 ( <edition> ) ,并把它添加到第一个 <book> 元素的最后一个子节点后面

xmlDoc = loadXMLDoc("/static/media/dom/books.xml");   
newel = xmlDoc.createElement("edition");              
x = xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);                           

运行范例 »

使用 loadXMLDoc() 把 "/static/media/dom/books.xml" 载入 xmlDoc 中

创建一个新节点 <edition>

把这个节点追加到第一个 <book> 元素

范例 2

下面的 JavaScript 代码遍历并向所有 <book> 元素追加一个元素

xmlDoc=loadXMLDoc("/static/media/dom/books.xml");

x=xmlDoc.getElementsByTagName("book");

for (i=0;i<x.length;i++)
{
    newel=xmlDoc.createElement("edition");
    newtext=xmlDoc.createTextNode("first");
    newel.appendChild(newtext);
    x[i].appendChild(newel);
}

// 输出所有 title 和 edition
y=xmlDoc.getElementsByTagName("title");
z=xmlDoc.getElementsByTagName("edition");
for (i=0;i<y.length;i++)
{
    document.write(y[i].childNodes[0].nodeValue);
    document.write(" - Edition: ");
    document.write(z[i].childNodes[0].nodeValue);
    document.write("<br>");
}

运行范例 »

插入节点 - insertBefore()

XML DOM insertBefore() 方法用于在指定的子节点之前插入节点

如果被添加的节点的位置很重要时,此方法很有用

xmlDoc = loadXMLDoc("/static/media/dom/books.xml");  
newNode = xmlDoc.createElement("book");   
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);  

运行范例 »

使用 loadXMLDoc() 把 "/static/media/dom/books.xml" 载入 xmlDoc 中

创建一个新的元素节点 <book>

把这个新节点插到最后一个 <book> 元素节点之前

其它

如果 insertBefore() 的第二个参数是 null,新节点将被添加到最后一个已有的子节点之后

x.insertBefore(newNode,null)

x.appendChild(newNode)

都可以向 x 追加一个新的子节点

添加新属性

XML DOM setAttribute() 用于创建一个新的属性,前提是属性不存在

如果属性已存在,setAttribute() 方法将覆盖已有的值

注意 XML DOM addAtribute() 这个方法是不存在的

xmlDoc = loadXMLDoc("/static/media/dom/books.xml");   
x = xmlDoc.getElementsByTagName('book');  
x[0].setAttribute("edition","first");   

运行范例 »

使用 loadXMLDoc() 把 "/static/media/dom/books.xml" 载入 xmlDoc 中

把第一个 <book> 元素的 "edition" 属性的值设置为 "first"

向文本节点添加文本 - insertData()

XML DOM insertData() 方法用于将数据插入已有的文本节点中

insertData() 方法有两个参数

  • offset - 在何处开始插入字符(以 0 开始)
  • string - 要插入的字符串

下面的 JavaScript 脚本把 "Easy" 添加到已加载的 XML 的第一个 <title> 元素的文本节点

xmlDoc=loadXMLDoc("/static/media/dom/books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.insertData(0,"Easy ");

运行范例 »

XML DOM 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.