XML DOM solmun luominen

Esimerkki

Seuraavassa esimerkissä käytetään XML-tiedostoa books.xml.

Funktio loadXMLDoc()Sijaitsee ulkoisessa JavaScriptissä, ja sitä käytetään XML-tiedoston lataamiseen.

Luodaan elementtisolmu
Tämä esimerkki käyttää createElement() -funktiota luodakseen uuden elementtisolmun ja lisää sen appendChild() -funktiolla solmun.
Luodaan attribuuttisolmu käyttämällä createAttribute
Tämä esimerkki käyttää createAttribute() -funktiota luodakseen uuden attribuuttisolmun ja lisää sen setAttributeNode() -funktiolla elementtiin.
Luodaan attribuuttisolmu käyttämällä setAttribute
Tämä esimerkki käyttää setAttribute() -funktiota luodakseen elementille uuden attribuutin.
创建文本节点
Tämä esimerkki käyttää createTextNode() -funktiota luodakseen uuden tekstisolmun ja lisää sen appendChild() -funktiolla elementtiin.
Luodaan CDATA-tyyppinen solmu
Tämä esimerkki käyttää createCDATAsection() -funktiota luodakseen CDATA-tyyppisen solmun ja lisää sen appendChild() -funktiolla elementtiin.
Luo kommenttisolmu
Tämä esimerkki käyttää createComment() -funktiota luodakseen comment-tyyppisen solmun ja lisää sen appendChild() -funktiolla elementtiin.

创建新的元素节点

createElement() 方法创建新的元素节点:

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

Esimerkki selityksestä:

  1. Käyttämällä loadXMLDoc() Lisää "books.xml"Lataa xmlDoc:iin"
  2. 创建一个新的元素节点 <edition>
  3. 向第一个 <book> 元素追加这个元素节点

TIY

遍历并向所有 <book> 元素添加一个元素:TIY

创建新的属性节点

createAttribute() 用于创建新的属性节点:

xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt); 

Esimerkki selityksestä:

  1. Käyttämällä loadXMLDoc() Lisää "books.xml"Lataa xmlDoc:iin"
  2. 创建一个新的属性节点 "edition"
  3. 向第一个 <title> 元素添加这个新的属性节点

TIY

遍历所有 <title> 元素,并添加一个新的属性节点:TIY

注释:如果该属性已存在,则被新属性替代。

通过使用 setAttribute() 来创建属性

由于 setAttribute() 可以在属性不存在的情况下创建新的属性,我们可以使用这个方法来创建新属性。

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

Esimerkki selityksestä:

  1. Käyttämällä loadXMLDoc() Lisää "books.xml"Lataa xmlDoc:iin"
  2. 为第一个 <book> 元素设置(创建)值为 "first" 的属性

TIY

遍历所有 <title> 元素并添加一个新属性:TIY

创建文本节点

createTextNode() 方法创建新的文本节点:

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

Esimerkki selityksestä:

  1. Käyttämällä loadXMLDoc() Lisää "books.xml"Lataa xmlDoc:iin"
  2. 创建一个新元素节点 <edition>
  3. 创建一个新的文本节点,其文本是 "first"
  4. 向这个元素节点追加新的文本节点
  5. 向第一个 <book> 元素追加新的元素节点

TIY

向所有 <book> 元素添加一个带有文本节点的元素节点:TIY

创建一个 CDATA Section 节点

createCDATASection() 方法创建一个新的 CDATA section 节点。

xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);

Esimerkki selityksestä:

  1. Käyttämällä loadXMLDoc() Lisää "books.xml"Lataa xmlDoc:iin"
  2. Luo uusi CDATA-sektion solmu
  3. Lisää tämä uusi CDATA-sektion solmu ensimmäiseen <book>-elementtiin

TIY

Lähesty toistoa ja lisää kaikki <book>-elementit CDATA-sektion:TIY

Luo kommenttisolmu

createComment() -menetelmä luo uuden kommenttisolmun.

xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);

Esimerkki selityksestä:

  1. Käyttämällä loadXMLDoc() Lisää "books.xml"Lataa xmlDoc:iin"
  2. Luo uusi kommenttisolmu
  3. Lisää tämä uusi kommenttisolmu ensimmäiseen <book>-elementtiin

TIY

Lähesty toistoa ja lisää kaikki <book>-elementit comment-solmuun:TIY