XML DOM solmun lista

getElementsByTagName() 方法和 childNodes 属性可返回节点的列表。

DOM solmun lista

当使用 childNodesgetElementsByTagName() 等属性或方法时,将返回 NodeList 对象。

NodeList 对象表示节点的列表,其顺序与 XML 中的顺序相同。

节点列表中的节点可通过从 0 开始的索引号进行访问。

下图表示 books.xml 中 <title> 元素的节点列表:

DOM solmun lista

假设 "books.xml" 已被加载到变量 xmlDoc 中。

此代码片段返回 "books.xml" 中 title 元素的节点列表:

x = xmlDoc.getElementsByTagName("title");

执行完上面的语句后,x 就成为一个 NodeList 对象。

Seuraava koodinpätkä palauttaa ensimmäisen <title>-elementin tekstin solmun listassa (x):

Esimerkki

var txt = x[0].childNodes[0].nodeValue;

Kokeile itse!

Suoritettuaan edellä olevat lauseet, txt = "雅舍谈吃".

solmun lista pituus

NodeList-objekti pitää aina ajan tasalla itseään. Jos poistat tai lisäät elementtejä, lista päivittyy automaattisesti.

solmun lista length Ominaisuus on luettelon solmujen määrä.

Tämä koodi palauttaa "books.xml"-tiedoston <title>-elementtien määrän:

x = xmlDoc.getElementsByTagName('title').length;

Yllä olevan lauseen suorittamisen jälkeenx arvon 5.

Solmun listan pituus voidaan käyttää silmukan toistamiseen luettelossa olevien kaikkien elementtien ympärillä.

Tämä koodi käyttää length Ominaisuusluku toistaa <title>-elementtien luettelon:

Esimerkki

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
    txt += x[i].childNodes[0].nodeValue) + " ";
}

Kokeile itse!

例子解释:

  1. 假设 books.xml On ladattu xmlDoc
  2. Aseta muuttuja x tallentamaan kaikki title-elementtien solmun lista
  3. Hae tekstisolmun arvo <title>-elementistä

DOM ominaisuuslista (nimetty solmun mappa)

elementin attributes Ominaisuus palauttaa ominaisuussolmun listan.

Tämä kutsutaan nimettyjä solmun mapeja (named node map), ja se on samanlaista kuin solmun lista, mutta menetelmät ja ominaisuudet ovat erilaisia.

Ominaisuuslista pitää aina ajan tasalla. Jos poistat tai lisäät ominaisuuksia, lista päivittyy automaattisesti.

Tämä koodi palauttaa "books.xml"-tiedoston ensimmäisen <book>-elementin ominaisuussolmut:

x = xmlDoc.getElementsByTagName('book')[0].attributes;

Yllä oleva koodi suoritettuaanx.length On yhtä suuri kuin ominaisuuksien määrä, voit käyttää x.getNamedItem() Palauttaa ominaisuus solmun.

Tämä koodi hakee ensimmäisen kirjan "category"-ominaisuuden arvon sekä ominaisuuksien määrän:

Esimerkki

x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;

Kokeile itse!

例子解释:

  1. 假设 books.xml 被加载到 xmlDoc
  2. 设置 x 变量以保存第一个 <book> 元素的所有属性的列表
  3. 获取 "category" 属性的值以及属性列表的长度