XML DOM solmun lisääminen
- Edellinen sivu DOM-luo noden
- Seuraava sivu DOM-klooninodi
Esimerkki
Alla olevassa esimerkissä käytetään XML-tiedostoa books.xml.
Funktio loadXMLDoc()Sijaitsee ulkoisessa JavaScriptissä, käytetään XML-tiedostojen lataamiseen.
- Lisää solmu viimeisen alisolmun jälkeen
- Tässä esimerkissä käytetään appendChild() metodia alisolmun lisäämiseen olemassa olevaan solmuun.
- Lisää solmu määritettyyn alisolmun eteen
- Tässä esimerkissä käytetään insertBefore() metodia solmun lisäämiseen määritettyyn alisolmun eteen.
- Lisää uusi ominaisuus
- Tässä esimerkissä käytetään setAttribute() metodia uuden ominaisuuden lisäämiseen.
- Lisää data tekstisolmuun
- Tässä esimerkissä käytetään insertData() metodia datan lisäämiseen olemassa olevaan tekstisolmuun.
Solmun lisääminen - appendChild()
appendChild() metodi lisää alisolmun olemassa olevaan solmuun.
Uusi solmu lisätään (lisätään) mihin tahansa olemassa olevaan alisolmuun.
Huomautus:Jos solmun sijainti on tärkeä, käytä insertBefore() metodia.
Seuraava koodipala luo elementin (<!DOCTYPE html>) ja lisää sen ensimmäisen <book> elementin viimeisen alisolmun jälkeen:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Esimerkki selityksestä:
- Käyttämällä loadXMLDoc() Lisää "books.xmlLataa xmlDoc:iin
- Luo uusi solmu <edition>
- Lisää tämä solmu ensimmäiseen <book> elementtiin
Toista ja lisää elementti kaikkiin <book> elementteihin:TIY
Solmun lisääminen - insertBefore()
insertBefore() metodi käytetään solmun lisäämiseen määritetyn alisolmun eteen.
Kun solmun sijainti on tärkeä, tämä metodi on hyödyllinen.
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode, y);
Esimerkki selityksestä:
- Käyttämällä loadXMLDoc() Lisää "books.xmlLataa xmlDoc:iin
- Luo uusi elementtisolmu <book>
- Lisää tämä solmu viimeisen <book> elementtisolmun eteen
Jos insertBefore() toinen parametri on null, uusi solmu lisätään viimeiseen olemassa olevaan alisolmuun.
x.insertBefore(newNode, null) ja x.appendChild(newNode) Voit lisätä uuden alisolmun x:hen.
Lisää uusi ominaisuus
addAtribute() metodi ei ole olemassa.
Jos ominaisuus ei ole olemassa, setAttribute() voi luoda uuden ominaisuuden:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Esimerkki selityksestä:
- Käyttämällä loadXMLDoc() Lisää "books.xmlLataa xmlDoc:iin
- Aseta ensimmäisen <book>-elementin "edition"-ominaisuuden arvo (luodaan) "first"
Huomautus:Jos ominaisuus on jo olemassa, setAttribute() -menetelmä korvaa olemassa olevan arvon.
Tekstinodeihin lisääminen - insertData()
insertData() -menetelmä lisää tietoja olemassa olevaan tekstinodeihin.
insertData() -menetelmällä on kaksi parametria:
- offset - missä aloittaa lisääminen merkkien perusteella (alkaa 0:sta)
- string - Lisättävä merkkijono
Seuraava koodikappale lisää "Easy"-sanan ladatun XML:n ensimmäisen <title>-elementin tekstinodeihin:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hello ");
- Edellinen sivu DOM-luo noden
- Seuraava sivu DOM-klooninodi