XML DOM Kry Node Waardes
Die nodeValue-eienskap word gebruik om die tekswaarde van 'n nodus te kry.
Die getAttribute() metode gee die waarde van 'n kenmerk terug.
Kry die waarde van 'n element
In die DOM is alles 'n nodus. Element nodusse het nie 'n tekswaarde nie.
Die tekswaarde van 'n elementnodus word in 'n kindnodus gestoor. Hierdie nodus word 'n teksnodus genoem.
Om die tekswaarde van 'n element te herwin, moet jy die waarde van die elemente se teksnodus ophaal.
Die getElementsByTagName-metode
Die getElementsByTagName() metode gee 'n noduslys van alle elemente terug , met die gespesifiseerde merkernaam, in dieselfde volgorde as wat hulle in die brondokument verskyn.
Gestel " books.xml " is in xmlDoc gelaai.
Hierdie kode haal die eerste <title> element op:
var x = xmlDoc.getElementsByTagName("title")[0];
Die ChildNodes-eienskap
Die childNodes- eienskap gee 'n lys van 'n element se kindnodes terug .
Die volgende kode haal die teksnodus van die eerste <title>-element op:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
Die nodeValue Eiendom
Die nodeValue- eienskap gee die tekswaarde van 'n teksnodus terug .
Die volgende kode haal die tekswaarde van die teksnodus van die eerste <title>-element op:
Voorbeeld
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;
Resultaat in z: "Everyday Italian"
Volledige voorbeeld
Voorbeeld
<!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>
Loop deur alle <title>-elemente:
Kry die waarde van 'n eienskap
In die DOM is kenmerke nodusse. In teenstelling met element nodusse, kenmerk nodusse het teks waardes.
Die manier om die waarde van 'n eienskap te kry, is om die tekswaarde daarvan te kry.
Dit kan gedoen word deur gebruik te maak van die getAttribute() metode of met behulp van die nodeValue eienskap van die kenmerk node.
Kry 'n kenmerkwaarde - getAttribute()
Die getAttribute() metode gee 'n kenmerk se waarde terug .
Die volgende kode haal die tekswaarde van die "lang"-kenmerk van die eerste <title>-element op:
Voorbeeld
x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
Resultaat in txt: "en"
Loop deur alle <boek>-elemente en kry hul "kategorie"-kenmerke:
Kry 'n kenmerkwaarde - getAttributeNode()
Die getAttributeNode() metode gee 'n kenmerknode terug .
Die volgende kode haal die tekswaarde van die "lang"-kenmerk van die eerste <title>-element op:
Voorbeeld
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
Resultaat in txt = "en"
Loop deur alle <boek>-elemente en kry hul "kategorie"-kenmerke: