XML DOM get node value

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"

TIY

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

TIY

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

TIY

Loopa igenom alla <book> element och få deras "category" attribut:TIY