XML DOM Get Node Value
- Previous page DOM locate node
- Next page DOM change node
De eigenschap nodeValue wordt gebruikt om de tekstwaarde van de knoop te verkrijgen.
De methode getAttribute() retourneert de waarde van het attribuut.
Voorbeeld
Het volgende voorbeeld gebruikt een XML-bestand books.xml.
Functie loadXMLDoc()Ligt buiten het externe JavaScript, gebruikt om XML-bestanden te laden.
- Het verkrijgen van de waarde van het element
- In dit voorbeeld wordt getElementsByTagname() gebruikt om de eerste <title> element in "books.xml" te verkrijgen.
- Het verkrijgen van de waarde van het attribuut
- In dit voorbeeld wordt de methode getAttribute() gebruikt om de waarde van het "lang"-attribuut van de eerste <title> element in "books.xml" te verkrijgen.
Het verkrijgen van de waarde van het element
In de DOM is elk onderdeel een knoop. Elementknooppunten hebben geen tekstwaarde.
De tekst van elementknooppunten wordt opgeslagen in subknooppunten. Deze knoop wordt een tekstknoop genoemd.
De methode om de tekst van het element te verkrijgen, is het verkrijgen van de waarde van deze subknoop (tekstknoop).
Het verkrijgen van de waarde van het element
De methode getElementsByTagName() retourneert een lijst van knopen die elementen bevatten met de gespecificeerde naam, waarbij de volgorde van de elementen de volgorde is waarin ze in de bronbestand verschijnen.
Het volgende codefragment maakt gebruik van loadXMLDoc() Set "books.xmlLaden van xmlDoc in en zoeken naar de eerste <title> element:
xmlDoc=loadXMLDoc("books.xml"); x = xmlDoc.getElementsByTagName("title")[0];
De eigenschap childNodes retourneert een lijst van subknooppunten.<title> element heeft slechts één subknoop, namelijk een tekstknoop.
Het volgende codefragment zoekt naar de tekstknoop van het <title> element:
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0];
De eigenschap nodeValue retourneert de tekstwaarde van de tekstknoop:
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; txt = y.nodeValue;
Resultaat: txt = "Harry Potter"
Blaat alle <title> elementen af:TIY
Het verkrijgen van de waarde van het attribuut
In de DOM zijn attributen ook knopen. In tegenstelling tot elementknooppunten, hebben attribuutknooppunten een tekstwaarde.
De methode om de waarde van het attribuut te verkrijgen, is het verkrijgen van zijn tekstwaarde.
Deze taak kan worden voltooid door gebruik te maken van de methode getAttribute() of de eigenschap nodeValue van het knooppunt.
Het verkrijgen van de waarde van het attribuut - getAttribute()
De methode getAttribute() retourneert de waarde van het attribuut.
Het volgende codefragment zoekt naar de tekstwaarde van het "lang"-attribuut van de eerste <title> element:
xmlDoc=loadXMLDoc("books.xml"); txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");
Result: txt = "en"
Example explanation:
- By using loadXMLDoc() Set "books.xmlLoad into xmlDoc
- Set the value of the "txt" variable to the value of the "lang" attribute of the first title element
Traverse all <book> elements and get their "category" attributes:TIY
Get attribute value - getAttributeNode()
The getAttributeNode() method returns the attribute node.
The following code retrieves the text value of the "lang" attribute of the first <title> element:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang"); txt=x.nodeValue;
Result: txt = "en"
Example explanation:
- By using loadXMLDoc() Set "books.xmlLoad into xmlDoc
- Get the "lang" attribute node of the first <title> element node
- Set the value of the "txt" variable to the value of the attribute
Loop through all <book> elements and get their "category" attributes:TIY
- Previous page DOM locate node
- Next page DOM change node