XML DOM traverse nodetreet

Traverse (Traverse) betyder at cykle eller flytte sig gennem nodetreet.

Eksempel

Dette eksempelet bruger en XML-fil books.xml.

Funktion loadXMLString()som er placeret i ekstern JavaScript og bruges til at indlæse XML-filen.

Traverse et nodetreet
Cyklus alle underknuder af <book>-elementet.

Traverse nodetreet

Du har ofte brug for at cykle XML-dokumenter, f.eks. når du har brug for at udtrække værdien af hver element.

Dette proces kaldes 'at traversere nodetreet'.

Dette eksempelet cykler alle underknuder af <book> og viser deres navne og værdier:

<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 repræsenterer altid roden
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>

Udskriv:

titel: Harry Potter
forfatter: J K. Rowling
år: 2005

Eksempel forklaring:

  • loadXMLString() Lad XML strengen indlæses i xmlDoc
  • Få roden til elementets undernoder
  • Udskriv navnet på hver undernode samt nodestandardens værdi

TIY