XML DOM Node List
- Edellinen sivu DOM-solmun tiedot
- Seuraava sivu DOM:n solmujen läpikäynti
Solutili palautetaan getElementsByTagName()-menetelmällä ja childNodes-ominaisuuksilla.
Esimerkki
Seuraavassa esimerkissä käytetään XML-tiedostoa books.xml.
Funktiot loadXMLDoc()Sijaitsee ulkoisessa JavaScriptissä, käytetään XML-tiedoston lataamiseen.
- Hanki ensimmäisen <title>-elementin teksti
- Tässä esimerkissä käytetään getElementsByTagName()-menetelmää saadaksesi "books.xml"-tiedostosta ensimmäisen <title>-elementin tekstin.
- Silmukoi soluja käyttämällä length-ominaisuutta
- Tässä esimerkissä käytetään solutilia ja length-ominaisuutta silmukoidakseen "books.xml"-tiedostossa olevat kaikki <title>-elementit.
- Hanki elementin ominaisuudet
- Tässä esimerkissä käytetään ominaisuusluetteloa saadakseen "books.xml"-tiedostosta ensimmäisen <title>-elementin ominaisuudet.
DOM Node List
Kun käytät tällaisia ominaisuuksia tai menetelmiä kuin childNodes tai getElementsByTagName(), palautetaan NodeList-objekti.
NodeList-objekti edustaa solujen luetteloa XML:n samassa järjestyksessä.
Käytä alusta 0 olevaa indeksiä tavoittaaksesi solutilin soluja.
Seuraava kuva esittää "}}books.xml"Palauta <title>-elementin solmun lista:

Seuraava koodipala käyttää loadXMLDoc() "Lataa "books.xml" xmlDoc:iin ja palauta "books.xml"Palauta title-elementin solmun lista:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
Yllä olevan lauseen suorittamisen jälkeen x on NodeList-objekti.
Seuraava koodipalikka palauttaa ensimmäisen <title>-elementin tekstin solmun listasta x:
txt=x[0].childNodes[0].nodeValue;
Yllä olevan lauseen suorittamisen jälkeen txt = "Everyday Italian".
Node List Length
NodeList-objekti pitää aina päivitettynä. Jos elementti poistetaan tai lisätään, lista päivittyy automaattisesti.
NodeList-objektin length-ominaisuus on listan solmujen määrä.
Seuraava koodipala käyttää loadXMLDoc() Aseta "books.xml"Lataa xmlDoc, ja palauta "books.xml" -tiedostossa olevien <title>-elementtien määrä:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('title').length;
Yllä olevan lauseen suorittamisen jälkeen x = 4.
Solmun listan pituus voidaan käyttää käydäksesi läpi listan kaikki elementit.
Seuraava koodipalikka käyttää length-ominaisuutta käydäksesi läpi <title>-elementtien listan:
xmlDoc=loadXMLDoc("books.xml"); //x-muuttuja sisältää solmun listan x=xmlDoc.getElementsByTagName('title'); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
Tulostus:
Harry Potter Everyday Italian XQuery Kick Start Learning XML
Esimerkki selityksestä:
- Käyttämällä loadXMLDoc() Aseta "books.xml"Lataa xmlDoc
- Aseta x-muuttuja tallentamaan kaikkien title-elementtien solmun listan
- Luo arvo kaikista <title>-elementtien tekstisolmuista
DOM Attribute List (Named Node Map)
Elementin solmun attributes-ominaisuus palauttaa ominaisuussolmun listan.
Tämä kutsutaan nimetyksi solmun kartaksi, ja se on solmun listan kaltainen, paitsi että siinä on joitakin eroja metodeissa ja ominaisuuksissa.
Ominaisuuslista pitää aina päivitettynä. Jos ominaisuus poistetaan tai lisätään, lista päivittyy automaattisesti.
Seuraava koodipala käyttää loadXMLDoc() Aseta "books.xml" xmlDoc-muuttujaan, ja tulosta "books.xml"
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0].attributes;
Yllä olevan koodin suorittamisen jälkeen x.length on ominaispiirteiden määrä, ja sitä voidaan käyttää x.getNamedItem() -menetelmällä palauttamaan ominaispiirteiden solmut.
Seuraava koodipala näyttää yhden book-elementin "category"-ominaisuuden arvon sekä sen ominaispiirteiden määrän:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].attributes; document.write(x.getNamedItem("category").nodeValue); document.write("<br />" + x.length);
Tulostus:
children 1
Esimerkki selityksestä:
- Käyttämällä loadXMLDoc() Aseta "books.xml"
- Aseta x-muuttuja ensimmäisen <book>-elementin kaikkien ominaispiirteiden luetteloksi
- Tulosta "category"-ominaisuuden arvo
- Tulosta ominaispiirteiden luettelon pituus
- Edellinen sivu DOM-solmun tiedot
- Seuraava sivu DOM:n solmujen läpikäynti