XML DOM få knude værdi
- Forrige side DOM定位node
- Næste side DOM ændre node
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"
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
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
Gennemløb alle <book> elementer og få deres "category" egenskab:TIY
- Forrige side DOM定位node
- Næste side DOM ændre node