XML DOM få knude værdi

nodeValue-egenskaben bruges til at hente teksten af en node.

getAttribute() metoden returnerer værdien af egenskaben.

Eksempel

Følgende eksempel bruger XML-filen books.xml.

Funktion loadXMLDoc()Ligger uden for JavaScript og bruges til at indlæse XML-filer.

Hent elementværdi
Dette eksempel bruger getElementsByTagName() til at hente den første <title>-element i "books.xml".
Hent egenskabsværdi
Dette eksempel bruger getAttribute() metoden til at hente værdien af "lang"-egenskaben for den første <title>-element i "books.xml".

Hent elementværdi

I DOM er hver komponent en node. Elementnoder har ingen tekstværdi.

Teksten til elementnoder gemmes i undernoder. Denne node kaldes en tekstnode.

Metoden til at hente elementtekst er at hente værdien af denne undernode (tekstnode).

Hent elementværdi

getElementsByTagName() metoden returnerer en liste over noder, der indeholder alle elementer med den specificerede tagnavn, og elementernes rækkefølge er den samme som de optræder i kildedokumentet.

Følgende kode bruger loadXMLDoc() Sæt "books.xml" Indlæses i xmlDoc og søger efter den første <title>-element:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.getElementsByTagName("title")[0];

childNodes-egenskaben returnerer en liste over undernoder.<title>-elementet har kun én undernode, nemlig en tekstnode.

Følgende kode søger efter tekstnoden for <title>-elementet:

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

nodeValue-egenskaben returnerer tekstnodens tekstværdi:

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

Resultat: txt = "Harry Potter"

TIY

Gennemgå alle <title>-elementer:TIY

Hent egenskabsværdi

I DOM er egenskaber også noder. I modsætning til elementnoder har egenskabsnoder en tekstværdi.

Metoden til at hente værdien af en egenskab er at hente dens tekstværdi.

Man kan udføre denne opgave ved hjælp af getAttribute() metoden eller nodeValue-egenskaben på egenskabsnoden.

Hent egenskabsværdi - getAttribute()

getAttribute() metoden returnerer værdien af egenskaben.

Følgende kode søger efter teksten af "lang"-egenskaben for den første <title>-element:

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Resultat: txt = "en"

Eksempel forklaring:

  • Ved brug af loadXMLDoc() Sæt "books.xmlIndlæs i xmlDoc
  • Sæt txt variablen til værdien af den første title elementknudepunkts "lang" egenskab

TIY

Gennemløb alle <book> elementer og få deres "category" egenskab:TIY

Få egenskabsværdi - getAttributeNode()

getAttributeNode() metoden returnerer egenskabsknudepunktet.

Følgende kode søger efter den første <title> elementets "lang" egenskabs tekstværdi:

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

Resultat: txt = "en"

Eksempel forklaring:

  • Ved brug af loadXMLDoc() Sæt "books.xmlIndlæs i xmlDoc
  • Få den første <title> elementknudepunktets "lang" egenskabsknudepunkt
  • Sæt txt variablen til værdien af egenskaben

TIY

Gennemløb alle <book> elementer og få deres "category" egenskab:TIY