XML DOM nodebomen doorzoeken

Doorzoeken (Traverse) betekent het doorloopen of verplaatsen in een nodeboom.

voorbeeld

Het volgende voorbeeld gebruikt een XML-bestand books.xml.

functie loadXMLString()geplaatst in extern JavaScript, gebruikt om XML-bestanden te laden.

nodebomen doorzoeken
Loopt door alle subnodes van het <book>-element.

nodebomen doorzoeken

U heeft vaak door XML-documenten moeten loopen, bijvoorbeeld: wanneer u de waarde van elk element moet extraheren.

Dit proces wordt "nodebomen doorzoeken" genoemd.

De volgende voorbeeld loopt door alle subnodes van <book> en toont hun namen en waarden:

<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 always represents the root node
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>

Output:

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

Example explanation:

  • loadXMLString() Load the XML string into xmlDoc
  • Get the child nodes of the root element
  • Output the name of each child node, as well as the node value of the text node

TIY