XML DOM solmun poistaminen

removeChild()-metodi poistaa määritetyn solmun.

removeAttribute()-metodi poistaa määritetyn attribuutin.

Esimerkki

Seuraava esimerkki käyttää XML-tiedostoa books.xml

Funktio loadXMLDoc()外部 JavaScriptissä sijaitseva funktio

Poista elementtisolmu
Tässä esimerkissä käytetään removeChild() poistaakseen ensimmäisen <book>-elementin.
Poista nykyinen elementtisolmu
Tässä esimerkissä käytetään parentNode ja removeChild() poistaakseen nykyisen <book>-elementin.
Poista tekstit solu
Tässä esimerkissä käytetään removeChild() poistaakseen ensimmäisen <title>-elementin tekstisolmun.
Tyhjennä tekstisolmun teksti
Tässä esimerkissä käytetään nodeValue()-attribuuttia tyhjentääksesi ensimmäisen <title>-elementin tekstisolmun.
Poista attribuutti nimellä
Tässä esimerkissä käytetään removeAttribute() poistaakseen "category"-attribuutin ensimmäisestä <book>-elementistä.
Poista attribuutti objektin perusteella
Tässä esimerkissä käytetään removeAttributeNode() poistaakseen kaikki <book>-elementin attribuutit.

Poista elementtisolmu

removeChild()-metodi poistaa määritetyn solmun.

Kun solmu poistetaan, sen kaikki lapsisolut poistetaan.

Seuraava koodipätkä poistaa ensimmäisen <book>-elementin ladatusta xml:stä:

xmlDoc=loadXMLDoc("books.xml");
y=xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y); 

Esimerkki selitetään:

  • Käyttämällä loadXMLDoc() Lataa "books.xml" Lataa xmlDoc:iin
  • Aseta muuttuja y poistettavaksi elementiksi
  • Poista elementti isäsolusta käyttämällä removeChild() -metodia

TIY

Poista itsesi - poista nykyinen solu

removeChild() -metodi on ainoa tapa poistaa tietty solu.

Kun olet paikannut poistettavan solun, voit poistaa sen käyttämällä parentNode-ominaisuutta ja removeChild() -metodia:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
x.parentNode.removeChild(x); 

Esimerkki selitetään:

  • Käyttämällä loadXMLDoc() Lataa "books.xml" Lataa xmlDoc:iin
  • Aseta muuttuja y poistettavaksi elementiksi
  • Poista tämä elementti solusta käyttämällä parentNode-ominaisuutta ja removeChild() -metodia

TIY

Poista tekstit solu

removeChild() -metodi voidaan käyttää tekstit solun poistamiseen:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0];
y=x.childNodes[0];
x.removeChild(y); 

Esimerkki selitetään:

  • Käyttämällä loadXMLDoc() Lataa "books.xml" Lataa xmlDoc:iin
  • Aseta muuttuja x ensimmäiseksi title-elementiksi
  • Aseta muuttuja y poistettavaksi tekstit soluksi
  • Poista solu isäsolusta käyttämällä removeChild() -metodia

TIY

Ei kovin yleinen removeChild() poistaa solun tekstin. Voit käyttää nodeValue-ominaisuutta sen sijaan. Katso seuraava kohta.

Tyhjennä tekstit solu

nodeValue-ominaisuus voidaan käyttää muuttamaan tai tyhjentämään tekstit solua:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue=""; 

Esimerkki selitetään:

  • Käyttämällä loadXMLDoc() Lataa "books.xml" Lataa xmlDoc:iin
  • Aseta muuttuja x ensimmäisen title-elementin tekstit soluun
  • Käytä nodeValue-ominaisuutta tyhjentääksesi tekstit solua

TIY

Kierro ja muuta kaikkien <title>-elementtien tekstit soluja: TIY

Poista ominaisuus solusta nimen perusteella

removeAttribute(name) -metodi poistaa ominaisuuden solusta sen nimen perusteella.

Esimerkki: removeAttribute('category')

Seuraava koodipala poistaa ensimmäisen <book>-elementin "category"-ominaisuuden:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category"); 

Esimerkki selitetään:

  • Käyttämällä loadXMLDoc() Lataa "books.xml" Lataa xmlDoc:iin
  • Käytä getElementsByTagName() -metodia saadaksesi book-elementin
  • Poista "category"-ominaisuus ensimmäisestä book-elementti-solmusta

TIY

Lähde läpi ja poista kaikki <book>-elementtien "category"-ominaisuudet: TIY.

Poista ominaisuussolmu objektin perusteella

removeAttributeNode(node)-metodi poistaa ominaisuussolmun käyttämällä Node-objektia parametrina.

Esimerkki: removeAttributeNode(x)

Seuraava koodipala poistaa kaikki <book>-elementtien ominaisuudet:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book");
for (i=0;i<x.length;i++)
{
while (x[i].attributes.length>0)
  {
  attnode=x[i].attributes[0];
  old_att=x[i].removeAttributeNode(attnode);
  }
}

Esimerkki selitetään:

  • Käyttämällä loadXMLDoc() Lataa "books.xml" Lataa xmlDoc:iin
  • Käytä getElementsByTagName() -metodia saadaksesi kaikki book-solmut
  • Tarkista, onko jokaisella book-elementillä ominaisuus
  • Jos jossain book-elementissä on ominaisuus, poista se ominaisuus

TIY