XML DOM solmun arvo

nodeValue Attribuutti käytetään solmun tekstimuodossa olevan arvon hakemiseen.

getAttribute() Metodi palauttaa attribuutin arvon.

Hae elementin arvo

DOM:ssa kaikki on solmuja. Elementtisolmut eivät ole tekstimuodossa.

Elementin solmun tekstimuodossa oleva arvo tallennetaan alkioiden sisällä. Tämä solmu kutsutaan tekstisolmuksi.

Jos haluat saada elementin tekstin arvon, sinun on haettava elementin tekstimuodossa olevan tekstin arvo.

Tämä tarkoittaa, että elementin tekstin saamiseksi on haettava tämän alkioiden arvo.

getElementsByTagName -menetelmä

getElementsByTagName() Metodi palauttaa luettelon solmuista, joilla on määritetty tietty leima:Kaikkien elementtien solmun luettelo,jossa elementtien järjestys on ne, jotka ne ovat alkuperäisessä dokumentissa.

Oletetaan books.xml On ladattu xmlDoc -muuttujaan.

Tämä koodi hakee ensimmäisen <title> -elementin:

var x = xmlDoc.getElementsByTagName("title")[0];

ChildNodes -attribuutti

childNodes Attribuutti palauttaaElementin alkioiden luettelo

Seuraava koodi hakee ensimmäisen <title> -elementin tekstimuodossa olevan tekstin:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];

nodeValue -attribuutti

nodeValue Attribuutti palauttaaTekstimuodossa olevan tekstin arvo

Seuraava koodi hakee ensimmäisen <title> -elementin tekstimuodossa olevan tekstin arvon:

Esimerkki

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;

z 中的结果:雅舍谈吃

Koko esimerkki

Esimerkki 1

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var httpx = 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>

Kokeile itse

Esimerkki 2

Läpikäydään kaikki <title>-elementit:

x = xmlDoc.getElementsByTagName('title');
for (i = 0; i < x.length; i++) { 
    txt += x[i].childNodes[0].nodeValue + "<br>";
}

Kokeile itse

Hae ominaisuuden arvo

DOM:ssa ominaisuudet ovat myös solmuja. Ero elementtiSolmuista on, että ominaisuusSolmutilla on tekstiarvo.

ominaisuusarvon hakeminen on sen tekstiarvon hakeminen.

voidaan käyttää getAttribute() metodi tai ominaisuusSolmu nodeValue ominaisuudella suoritetaan tämä tehtävä.

Hae ominaisuusarvo - getAttribute()

getAttribute() metodi palauttaaominaisuuden arvo

Seuraava koodi hakee ensimmäisen <title>-elementin "lang" Ominaisuuden tekstiarvo:

Esimerkki 1

x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");

Kokeile itse

Esimerkki 2

Läpikäydään kaikki <book> -elementit ja haetaan niiden "category"-ominaisuus:

x = xmlDoc.getElementsByTagName("book");
for (i = 0; i < x.length; i++) { 
    txt += x[i].getAttribute("category") + "<br>";
}

Kokeile itse

Hae ominaisuusarvo - getAttributeNode()

getAttributeNode() metodi palauttaaominaisuusSolmu

Seuraava koodi hakee ensimmäisen <title>-elementin "lang" Ominaisuuden tekstiarvo:

Esimerkki 1

x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;

Kokeile itse

Esimerkki 2

Läpikäydään kaikki <book> -elementit ja haetaan niiden "category"-ominaisuus:

x = xmlDoc.getElementsByTagName("book");
for (i = 0; i < x.length; i++) {
    txt += x[i].getAttributeNode("category").nodeValue + "<br>";
}

Kokeile itse