XML DOM att traversera nodträdet

Att traversera (Traverse) innebär att cykla eller flytta i nodträdet.

Exempel

Följande exempel använder XML-filer books.xml.

Funktion loadXMLString()Ligger utanför JavaScript, används för att ladda XML-filer.

Att traversera ett nodträd
Cykla genom alla undernoder till <book>-elementet.

Att traversera nodträdet

Du behöver ofta cykla genom XML-dokument, till exempel: när du behöver extrahera varje elements värde.

Denna process kallas "att traversera nodträdet".

Följande exempel cyklar genom alla undernoderna till <book> och visar deras namn och värden:

<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 alltid representerar rodnoden
x=xmlDoc.documentElement.childNodes;
för (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>

Utskrift:

titel: Harry Potter
författare: J K. Rowling
år: 2005

Exempel förklaring:

  • loadXMLString() Ladda XML-strängen in i xmlDoc
  • Hämta undernoder för roden
  • Skriv ut namnet på varje undernod samt nodvärdet för textnoder

TIY