XML DOM Node List
- Forrige side DOM nodens information
- Næste side DOM gennemtrævning af noder
NodeListen returneres af getElementsByTagName()-metoden og childNodes-egenskaben.
Eksempel
Følgende eksempel bruger en XML-fil books.xml.
Funktion loadXMLDoc()Ligger uden for JavaScript og bruges til at indlæse XML-filer.
- Få tekst fra den første <title>-element
- Dette eksempel bruger getElementsByTagName()-metoden til at hente tekst fra den første <title>-element i "books.xml".
- Gennemløb noder ved hjælp af length-egenskaben
- Dette eksempel bruger nodelisten og length-egenskaben til at loope gennem alle <title>-elementer i "books.xml".
- Få elementets egenskaber
- Dette eksempel bruger egenskabslisten til at hente egenskaber fra den første <title>-element i "books.xml".
DOM Node List
Når du bruger egenskaber eller metoder som childNodes eller getElementsByTagName(), returneres NodeList-objektet.
NodeList-objektet repræsenterer en liste over noder, i samme rækkefølge som i XML.
Brug indeks fra 0 for at få adgang til noder i nodelisten.
下面的图像表示 "books.xmlBilledet nedenfor repræsenterer "}}

Nedenstående kodeafsnit bruger loadXMLDoc() "En nodeliste af <title>-elementer:"books.xmlIndlæs "books.xml" i xmlDoc, og returner "
xmlDoc=loadXMLDoc("books.xml"); "En nodeliste af en title-element:"
x=xmlDoc.getElementsByTagName("title");
Efter udførelsen af ovenstående sætning, x bliver til et NodeList-objekt.
Følgende kodeudsnit returnerer teksten fra det første <title>-element i nodelisten x:
txt=x[0].childNodes[0].nodeValue;
Efter udførelsen af ovenstående sætning, txt = "Everyday Italian".
Node List Length
Length-egenskaben for NodeList-objektet opretholder sig selv. Hvis du sletter eller tilføjer elementer, opdateres listen automatisk.
Nedenstående kodeafsnit bruger loadXMLDoc() Sæt "books.xml"Indlæs xmlDoc, og returner antallet af <title>-elementer i "books.xml":
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('title').length;
Efter udførelsen af ovenstående sætning, x = 4.
Længden af nodelisten kan bruges til at loope gennem alle elementer i listen.
Følgende kodeudsnit bruger length-egenskaben til at gennemgå listen over <title>-elementer:
xmlDoc=loadXMLDoc("books.xml"); //x-variablen vil holde en nodeliste x=xmlDoc.getElementsByTagName('title'); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
Udskriv:
Harry Potter Everyday Italian XQuery Kick Start Learning XML
Eksempel forklaring:
- Ved brug af loadXMLDoc() Sæt "books.xml"Indlæs xmlDoc
- Sæt x-variablen til at gemme nodelisten for alle title-elementer
- Output værdien fra tekstknuderne i alle <title>-elementer
DOM Attribute List (Named Node Map)
Elementnodens attributes-egenskab returnerer en liste over egenskabsnoder.
Dette kaldes Named Node Map, og med undtagelse af nogle forskelle i metoder og egenskaber, ligner det en nodeliste.
Egenskabslisten opretholder sin egen opdatering. Hvis du sletter eller tilføjer egenskaber, opdateres denne liste automatisk.
Nedenstående kodeafsnit bruger loadXMLDoc() Indlæs "books.xml" i xmlDoc og fra "books.xmlDen første <book>-element i "
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0].attributes;
Efter udførelse af ovenstående kode vil x.length være lig med antallet af egenskaber, og du kan bruge x.getNamedItem() til at returnere egenskabsnoden.
Nedenstående kodeafsnit viser værdien af en books "category"-egenskab samt antallet af egenskaber:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].attributes; document.write(x.getNamedItem("category").nodeValue); document.write("<br />" + x.length);
Udskriv:
children 1
Eksempel forklaring:
- Ved brug af loadXMLDoc() Sæt "books.xml"Indlæs i xmlDoc"
- Sæt x til en liste over alle egenskaber for den første <book>-element
- Udskriv værdien af "category"-egenskaben
- Udskriv længden af egenskabslisten
- Forrige side DOM nodens information
- Næste side DOM gennemtrævning af noder