Nodes van XML DOM bereiken
- Vorige pagina DOM Node
- Volgende pagina DOM Node informatie
Met DOM, kunt u elk knooppunt in het XML-document bereiken.
Knooppunt bereiken
U kunt knooppunten op drie manieren bereiken:
- door gebruik te maken van de getElementsByTagName() methode
- door de knooppuntboom te doorlopen (te verkennen)
- door gebruik te maken van de relatie tussen knooppunten in de knooppuntboom
getElementsByTagName() methode
getElementsByTagName()
retourneert alle elementen met de opgegeven tagnaam.
Syntaxis
node.getElementsByTagName("tagname");
Voorbeeld
Het volgende voorbeeld retourneert alle <title> elementen onder het x element:
x.getElementsByTagName("title");
Let op, de bovenstaande voorbeeld retourneert alleen de <title> elementen onder de x knooppunten. Om alle <title> elementen in het XML-document te retourneren, gebruik dan:
xmlDoc.getElementsByTagName("title");
Hierin,xmlDoc
is het document zelf (document knooppunt).
DOM knooppuntlijst
getElementsByTagName()
Deze methode retourneert een knooppuntlijst (node list). Een knooppuntlijst is een array van knopen.
x = xmlDoc.getElementsByTagName("title");
Je kunt de <title> elementen in x bereiken via de index. Als je de derde <title> wilt bereiken, kun je het volgende schrijven:
y = x[2];
Opmerking:De index begint bij 0.
DOM knooppuntlijstlengte
length
Kenmerken gebruiken om de lengte van de knooppuntlijst (aantal knopen) te definiëren.
Je kunt length
Kenmerken om door de knooppuntlijst te loopen:
Voorbeeld
var x = xmlDoc.getElementsByTagName("title"); for (i = 0; i < x.length; i++) { // Hier kan je de code schrijven om elke knoop te verwerken }
Knooppunttype
Knooppunten van het XML-document documentElement
Kenmerken zijn de root-knooppunt.
Kenmerken van de knoop zijn. nodeName
Kenmerken zijn de naam van de knoop.
Kenmerken van de knoop zijn. nodeType
Kenmerken zijn het type van de knoop.
Je zult in het volgende hoofdstuk van deze handleiding meer leren over knooppuntkenmerken.
Doorzoek knopen
De volgende code loopt door de onderliggende knopen van de root-knooppunt (ook elementknooppunten):
Voorbeeld
txt = ""; x = xmlDoc.documentElement.childNodes; for (i = 0; i < x.length; i++) { // Alleen elementknooppunten (type 1) verwerken if (x[i].nodeType == 1) { txt += x[i].nodeName + "<br>"; } }
Voorbeeld uitleg:
- Aannemen dat u ",books.xml"Laden in
xmlDoc
- Ophalen van de onderliggende knopen van de root-element (xmlDoc)
- Controleer de node type van elke subnode. Als het node type is "
1
", dan is het een elementknooppunt - Als het een elementknooppunt is, wordt de knooppunt naam weergegeven
Navigatie van knooppuntrelaties
De volgende code navigeert door het knooppuntentree met behulp van de relatie tussen de knopen:
Voorbeeld
x = xmlDoc.getElementsByTagName("book")[0]; xlen = x.childNodes.length; y = x.firstChild; txt = ""; for (i = 0; i < xlen; i++) { // Alleen elementknooppunten (type 1) verwerken if (y.nodeType == 1) { txt += y.nodeName + "<br>"; } y = y.nextSibling; }
Voorbeeld uitleg:
- Aannemen dat u ",books.xml"Laden in
xmlDoc
- Ophalen van de onderliggende knopen van het eerste book-element
- Stel de "y" variabele in op de eerste book element's eerste subnode
- Voor elke subnode (van de eerste subnode "
y
" (begin): - Controleer de node type van elke subnode. Als het node type is "
1
" dan is het een elementnode - Als het een elementnode is, dan wordt de naam van de node weergegeven
- Stel "
y
" Variabele instellen op de volgende同级 node, en loop opnieuw
- Vorige pagina DOM Node
- Volgende pagina DOM Node informatie