Akses Noda DOM XML

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

访问节点

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

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

getElementsByTagName() 方法

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

语法

node.getElementsByTagName("tagname");

Contoh

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

x.getElementsByTagName("title");

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

xmlDoc.getElementsByTagName("title");

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

DOM 节点列表

getElementsByTagName() Method mengembalikan daftar noden (node list). Daftar noden adalah daftar dari noden.

x = xmlDoc.getElementsByTagName("title");

Untuk mengakses elemen <title> ketiga, Anda dapat menulis seperti ini:

Dapat diakses melalui nomor indeks x elemen <title>.

y = x[2];Keterangan:

Coba sendiri

Indeks dimulai dari 0.

Anda dapat menggunakan Panjang daftar DOM noden

Atribut untuk menentukan panjang daftar noden (jumlah noden). Anda dapat menggunakan length

Contoh

Atribut untuk mengulangi melintasi daftar noden:
for (i = 0; i < x.length; i++) {
  var x = xmlDoc.getElementsByTagName("title");
  }

Coba sendiri

//Di tempat ini dapat menulis kode untuk menangani setiap noden

Tipe noden Noden dokumen XML documentElement

Atribut adalah nama noden. Atribut adalah root. nodeName

Atribut adalah nama noden. nodeType Atribut adalah tipe noden.

Anda akan belajar lebih banyak tentang atribut noden di bab berikutnya tutorial ini.

Coba sendiri

Melintasi noden

Kode di bawah ini mengulangi melintasi anak noden root (juga noden elemen):

Contoh

txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i < x.length; i++) {
  //Proses hanya noden elemen (tipe 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}

Coba sendiri

Pengertian contoh:

  1. Dihypothetika anda sudah memuat "books.xml"Memuat ke xmlDoc
  2. Mengambil anak noden elemen (xmlDoc)
  3. 检查每个子节点的节点类型。如果节点类型为 "1", adalah noden elemen
  4. Jika adalah noden elemen, keluarkan nama noden

Navigasi hubungan noden

Kode di bawah ini menggunakan hubungan antar noden untuk navigasi di dalam pohon noden:

Contoh

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;
txt = "";
for (i = 0; i < xlen; i++) {
  //Hanya mengendalikan noden elemen (tipe 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}

Coba sendiri

Pengertian contoh:

  1. Dihypothetika anda sudah memuat "books.xml"Memuat ke xmlDoc
  2. Mengambil anak noden buah pertama book
  3. 将 "y" 变量设置为第一个 book 元素的第一个子节点
  4. 对于每个子节点(从第一个子节点 "y" 开始):
  5. 检查每个子节点的节点类型。如果节点类型为 "1",则它是元素节点
  6. 如果是元素节点,则输出该节点的名称
  7. 将 "y" 变量设置为下一个同级节点,并再次运行循环