Duyệt cây nút XML DOM

Duyệt (Traverse) có nghĩa là lặp lại hoặc di chuyển trong cây nút.

Mẫu

Dưới đây là ví dụ sử dụng tệp XML books.xml.

Hàm loadXMLString()nằm ở bên ngoài JavaScript, được sử dụng để tải tệp XML.

Duyệt cây nút
Lặp lại tất cả các phần tử con của phần tử <book>.

Duyệt cây nút

Bạn thường xuyên cần duyệt tài liệu XML, ví dụ: khi bạn cần lấy giá trị của mỗi phần tử.

Quá trình này được gọi là “duyệt cây nút”.

Dưới đây là ví dụ lặp lại tất cả các phần tử con của <book> và hiển thị tên và giá trị của chúng:

<html>
<head>
<script type="text/javascript" src="loadxmlstring.js"></script>
</head>
<body>
<script type="text/javascript">
text="<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
xmlDoc=loadXMLString(text);
// documentElement luôn đại diện cho nút gốc
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{
document.write(x[i].nodeName);
document.write(": ");
document.write(x[i].childNodes[0].nodeValue);
document.write("<br />");
}
</script>
</body>
</html>

Xuất ra:

title: Harry Potter
author: J K. Rowling
year: 2005

Giải thích ví dụ:

  • loadXMLString() Charger chuỗi XML vào xmlDoc
  • Lấy các nút con của phần tử gốc
  • Xuất ra tên của mỗi nút con và giá trị của nút văn bản

TIY