Add Node XML DOM
添加节点 - appendChild()
appendChild()
方法将子节点添加到现有节点。
新节点可添加(追加)到任何现有的子节点之后。
注意:如果节点的位置很重要,请使用 insertBefore()。
下面的代码片段创建一个元素 (<edition>),并将其添加到第一个 <book> 元素的最后一个子元素之后:
例子 1
newEle = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - 创建新节点 <edition>
- 将节点追加到第一个 <book> 元素
下面这段代码的作用与上面相同,但新元素添加了一个值:
例子 2
newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("第一版"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - 创建新节点 <edition>
- 创建新的文本节点
"第一版"
- 将这个文本节点追加到 <edition> 节点
- 将 <edition> 节点追加到 <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() 的第二个参数为 null,则新节点将添加到最后一个现有的子节点之后。
x.insertBefore(newNode,null) 和 x.appendChild(newNode) 都可以向 x 追加新的子节点。
添加新属性
setAttribute()
方法设置属性的值。
如果属性不存在,则 setAttribute()
可创建一个新的属性:
实例
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","第一版");
例子解释:
- 假设 books.xml 已加载到
xmlDoc
中 - 将第一个 <book> 元素的 "edition" 属性的值设置为 "第一版"
注意:并不存在名为 addAttribute() 的方法,如果属性不存在,setAttribute() 将创建新的属性。如果属性已存在,setAttribute() 方法将覆盖现有的值。
将文本添加到文本节点 - insertData()
insertData()
方法将数据插入现有的文本节点中。
insertData()
方法有两个参数:
- - 無و دااىى نكىلارى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىدى فاىىىd
- string - 要插入的字符串
下面的代码片段会将 "我最爱的" 添加到已加载的 XML 的第一个 <title> 元素的文本节点:
实例
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"我最爱的");