XML DOM get node value
- Föregående sida DOM定位节点
- Nästa sida DOM ändra nod
nodeValue-egenskapen används för att hämta textvärdet för en nod.
getAttribute()-metoden returnerar värdet för egenskapen.
Exempel
Följande exempel använder XML-filer books.xml.
Funktion loadXMLDoc()Ligger utanför extern JavaScript, används för att ladda XML-filer.
- Hämta elementvärdet
- Detta exempel använder getElementsByTagName() för att hämta den första <title>-elementet i "books.xml".
- Hämta egenskapsvärdet
- Detta exempel använder getAttribute()-metoden för att hämta värdet för "lang"-egenskapen hos den första <title>-elementet i "books.xml".
Hämta elementvärdet
I DOM är varje komponent en nod. Elementnoder har inga textvärden.
Texten för elementnoden lagras i undernoderna. Denna nod kallas textnod.
Metoden att hämta elementtexten är att hämta värdet för denna undernod (textnod).
Hämta elementvärdet
getElementsByTagName()-metoden returnerar en nodlista som innehåller alla element med angiven etikett, i den ordning de uppträder i käll dokumentet.
Följande kod använder: loadXMLDoc() Sätt"books.xml"Ladda xmlDoc och sök efter den första <title>-elementet:
xmlDoc=loadXMLDoc("books.xml"); x = xmlDoc.getElementsByTagName("title")[0];
childNodes-egenskapen returnerar en lista över undernoder.<title>-elementet har endast en undernod, nämligen en textnod.
Följande kod söker efter textnoden för <title>-elementet:
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0];
nodeValue-egenskapen returnerar textnodens textvärde:
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; txt = y.nodeValue;
Resultat: txt = "Harry Potter"
Genomgå alla <title>-element:TIY
Hämta egenskapsvärdet
I DOM är egenskaper också noder. Till skillnad från elementnoder har egenskapsnoder textvärden.
Metoden att hämta egenskapsvärdet är att hämta dess textvärde.
Det är möjligt att utföra detta genom att använda getAttribute()-metoden eller egenskapsnodens nodeValue-egenskap.
Hämta egenskapsvärdet - getAttribute()
getAttribute()-metoden returnerar värdet för egenskapen.
Följande kod söker efter textvärdet för "lang"-egenskapen hos den första <title>-elementet:
xmlDoc=loadXMLDoc("books.xml"); txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");
Resultat: txt = "en"
Exempel förklaring:
- Genom att använda loadXMLDoc() Sätt"books.xmlLadda in i xmlDoc
- Sätt txt variabeln till värdet av "lang" attributet på den första title elementnoden
Genomgå alla <book> element och få deras "category" attribut:TIY
Hämta attributvärde - getAttributeNode()
getAttributeNode() metod returnerar attributnoden.
Nedan kod söker efter textvärdet för "lang" attributet på den första <title> elementen:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang"); txt=x.nodeValue;
Resultat: txt = "en"
Exempel förklaring:
- Genom att använda loadXMLDoc() Sätt"books.xmlLadda in i xmlDoc
- Hämta "lang" attributnoden för den första <title> elementnoden
- Sätt txt variabeln till värdet av attributet
Loopa igenom alla <book> element och få deras "category" attribut:TIY
- Föregående sida DOM定位节点
- Nästa sida DOM ändra nod