XML-DOM -Knotenwerte abrufen
Die nodeValue-Eigenschaft wird verwendet, um den Textwert eines Knotens abzurufen.
Die Methode getAttribute() gibt den Wert eines Attributs zurück.
Holen Sie sich den Wert eines Elements
Im DOM ist alles ein Knoten. Elementknoten haben keinen Textwert.
Der Textwert eines Elementknotens wird in einem untergeordneten Knoten gespeichert. Dieser Knoten wird als Textknoten bezeichnet.
Um den Textwert eines Elements abzurufen, müssen Sie den Wert des Textknotens des Elements abrufen.
Die getElementsByTagName-Methode
Die Methode getElementsByTagName() gibt eine Knotenliste aller Elemente mit dem angegebenen Tag-Namen in derselben Reihenfolge zurück, in der sie im Quelldokument erscheinen.
Angenommen, " books.xml " wurde in xmlDoc geladen.
Dieser Code ruft das erste <title>-Element ab:
var x = xmlDoc.getElementsByTagName("title")[0];
Die ChildNodes-Eigenschaft
Die Eigenschaft childNodes gibt eine Liste der untergeordneten Knoten eines Elements zurück .
Der folgende Code ruft den Textknoten des ersten <title>-Elements ab:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
Die nodeValue-Eigenschaft
Die Eigenschaft nodeValue gibt den Textwert eines Textknotens zurück .
Der folgende Code ruft den Textwert des Textknotens des ersten <title>-Elements ab:
Beispiel
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;
Ergebnis in z: "Alltagsitalienisch"
Vollständiges Beispiel
Beispiel
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET",
"books.xml", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName('title')[0];
var y =
x.childNodes[0];
document.getElementById("demo").innerHTML = y.nodeValue;
}
</script>
</body>
</html>
Durchlaufen Sie alle <title>-Elemente:
Holen Sie sich den Wert eines Attributs
Im DOM sind Attribute Knoten. Im Gegensatz zu Elementknoten haben Attributknoten Textwerte.
Der Weg, um den Wert eines Attributs abzurufen, besteht darin, seinen Textwert abzurufen.
Dies kann mit der Methode getAttribute() oder mit der Eigenschaft nodeValue des Attributknotens erfolgen.
Holen Sie sich einen Attributwert - getAttribute()
Die Methode getAttribute() gibt den Wert eines Attributs zurück .
Der folgende Code ruft den Textwert des "lang"-Attributs des ersten <title>-Elements ab:
Beispiel
x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
Ergebnis in txt: "en"
Durchlaufen Sie alle <book>-Elemente und erhalten Sie ihre „Kategorie“-Attribute:
Holen Sie sich einen Attributwert - getAttributeNode()
Die Methode getAttributeNode() gibt einen Attributknoten zurück .
Der folgende Code ruft den Textwert des "lang"-Attributs des ersten <title>-Elements ab:
Beispiel
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
Ergebnis in txt = "en"
Durchlaufen Sie alle <book>-Elemente und erhalten Sie ihre "Kategorie"-Attribute: