XML DOM Access Nodes

通过 DOM,您能够访问 XML 文档中的每个节点。

访问节点

您可以通过三种方式来访问节点:

  • 通过使用 getElementsByTagName() 方法
  • 通过循环(遍历)节点树
  • 通过利用节点的关系在节点树中导航

getElementsByTagName() 方法

getElementsByTagName() 返回拥有指定标签名的所有元素。

语法

node.getElementsByTagName("tagname");

Duba

下例返回 x 元素下的所有 <title> 元素:

x.getElementsByTagName("title");

请注意,上面的例子仅返回 x 节点下的 <title> 元素。如需返回 XML 文档中的所有 <title> 元素,请使用:

xmlDoc.getElementsByTagName("title");

在这里,xmlDoc 就是文档本身(文档节点)。

DOM 节点列表

getElementsByTagName() 方法 fahimtar abin da karka na jerin (abin da karka na jerin). Abin da karka na jerin shine abin da karka na daga.

Method don fahimtar abin da karka na jerin (abin da karka na jerin). Abin da karka na jerin shine abin da karka na daga.

x = xmlDoc.getElementsByTagName("title");

Kwarewa za a iya ganin abin da karka a x ta hanyar index. Ida za a baya ka ganin abin da karka na uku <title>, za a iya koyar da:

y = x[2];Babbar:

Gyara shi ne

Indeksu bace daga 0.

length Tsawon abin da karka na DOM

Aka amfani da abin da karka don gudanar da tsawon jerin abin da karka (tsawon abin da karka). length Aka amfani da abin da karka don nazarin abin da karka a jerin abin da karka:

Duba

var x = xmlDoc.getElementsByTagName("title");
for (i = 0; i <x.length; i++) {
  // Aka zai koyar da koda a baya don amfani da kiyanta abin da karka
  }

Gyara shi ne

Nau'in abin da karka

Abin da karka na XML na documentElement Abin da karka shine root.

Abin da karka shine nodeName Abin da karka shine sunan abin da karka.

Abin da karka shine nodeType Abin da karka shine nau'in abin da karka.

Aka gana cewa a baya ga babban ita ka fi sanar kan abin da karka a ita.

Gyara shi ne

Nazarin abin da karka

Koda ita yana nazarin abin da karka na abin da karka na root (kuma abin da karka):

Duba

txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i <x.length; i++) {
  // Kiyasta kiyanta abin da karka (iki 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}

Gyara shi ne

Tasiyarin:

  1. Yadda ba a da girmowa "books.xml" yanke girmowa xmlDoc
  2. Gyara abin da karka na root (xmlDoc) na abin da karka
  3. 检查每个子节点的节点类型。如果节点类型为 "1",ana gudanar da karka
  4. Ida abin da karka shine karka, ana gudanar da sunan abin da karka

Nazarin abin da karka

Koda ita yana amfani da nauyin abin da karka a karka na abin da karka don nazarin:

Duba

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;
txt = "";
for (i = 0; i <xlen; i++) {
  // Kiyasta kiyanta abin da karka (iki 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}

Gyara shi ne

Tasiyarin:

  1. Yadda ba a da girmowa "books.xml" yanke girmowa xmlDoc
  2. Gyara takalancin na girmowa abin dafta 'book' na karka
  3. 将 "y" 变量设置为第一个 book 元素的第一个子节点
  4. 对于每个子节点(从第一个子节点 "y" 开始):
  5. 检查每个子节点的节点类型。如果节点类型为 "1",则它是元素节点
  6. 如果是元素节点,则输出该节点的名称
  7. 将 "y" 变量设置为下一个同级节点,并再次运行循环