Kuingia Mabaki ya XML DOM

mifano

mifano yaliyotumiwa kwa faili ya XML books.xml.

mfano loadXMLDoc()imejengwa katika JavaScript ya nje, inatumiwa kulongoa faili ya XML.

在最后一个子节点之后添加一个节点
本例使用 appendChild() 方法向一个存在的节点添加一个子节点。
在指定的子节点之前添加一个节点
本例使用 insertBefore() 方法在一个指定的子节点之前插入一个节点。
添加一个新属性
本例使用 setAttribute() 方法添加一个新的属性。
向文本节点添加数据
本例使用 insertData() 把数据插入一个已存在的文本节点中。

添加节点 - appendChild()

appendChild() 方法向已存在的节点添加子节点。

新节点会添加(追加)到任何已存在的子节点之后。

注释:如果节点的位置很重要,请使用 insertBefore() 方法。

下面的代码片段创建一个元素(),并把它添加到第一个 元素最后一个子节点后面:

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

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 创建一个新节点
  3. 把这个节点追加到第一个 元素

TIY

循环并把一个元素追加到所有 元素:TIY

插入节点 - insertBefore()

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

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

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

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 创建一个新的元素节点
  3. 把这个节点插到最后一个 元素节点之前

TIY

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

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

添加新属性

addAtribute() 这个方法是不存在的。

如果属性不存在,则 setAttribute() 可创建一个新的属性:

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

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 把第一个 元素的 "edition" 属性的值设置(创建)"first"

TIY

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

Kuingiza matukio katika mti wa matukio - insertData()

Method ya insertData() inasababisha data kuweza kuingizwa katika mti wa matukio ya kina

Method ya insertData() ina thamani mbili:

  • offset - Hali inayotumika kuanza kuingiza herufi (inaanza na 0)
  • string - Hiyaro inayotumiwa kusababisha

Matokeo ya kiroho hii yatakuwa "Easy" katika mti wa XML wa kwanza <title> elementi ya matukio:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.insertData(0,"Hello ");

TIY