XML DOM solmujen poistaminen
- Edellinen sivu DOM muuttaa solua
- Seuraava sivu DOM korvaa solun
removeChild()
方法删除指定的节点。
removeAttribute()
方法删除指定的属性。
删除元素节点
removeChild()
方法删除指定的节点。
当一个节点被删除时,它的所有子节点也会被删除。
这段代码将从已加载的 xml 中删除第一个 <book> 元素:
Esimerkki
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Esimerkki selityksestä:
- Oletetaan books.xml on jo ladattu
xmlDoc
kesken - Aseta muuttuja
y
Aseta poistettava elementtisolmu - Käyttää
removeChild()
方法从父节点中删除该元素节点
删除自己 - 删除当前节点
removeChild()
方法是唯一可以删除指定节点的方法。
当您导航到要删除的节点时,可以使用 parentNode
Ominaisuus ja removeChild()
方法来删除该节点:
Esimerkki
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Esimerkki selityksestä:
- Oletetaan books.xml on jo ladattu
xmlDoc
kesken - Aseta muuttuja
y
Aseta poistettava elementtisolmu - Käyttää
parentNode
Ominaisuus jaremoveChild()
metodia poistaaksesi elementtisolmun
Poista tekstinode
removeChild()
Metodi voidaan käyttää myös tekstinodejen poistamiseen:
Esimerkki
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
Esimerkki selityksestä:
- Oletetaan books.xml on jo ladattu
xmlDoc
kesken - Aseta muuttuja
x
ensimmäiseksi title-elementtipisteeksi - Aseta muuttuja
y
Aseta poistettava tekstinode - Käyttää
removeChild()
metodia poistaaksesi solmun isäntäsolmusta
Käytä vain removeChild()
Tekstin poistaminen solmista ei ole yleistä. Voit käyttää nodeValue-ominaisuutta sen sijaan. Katso seuraava kohta.
Tyhjennä tekstinode
nodeValue
Ominaisuus voidaan käyttää muuttamaan tai tyhjentämään tekstinodejen arvoa:
Esimerkki
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
Esimerkki selityksestä:
- Oletetaan books.xml on jo ladattu
xmlDoc
kesken - Hanki ensimmäisen title-elementin ensimmäinen lapsinode
- Käyttää
nodeValue
Ominaisuus poistaa tekstinodeista tekstiä
Poista ominaisuusnode nimellä
removeAttribute()
Metodi poistaa ominaisuusnodeja nimellä.
Esimerkki 1
Seuraava koodi poistaa ensimmäisen <book>-elementin "category"-ominaisuuden:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Esimerkki selityksestä:
- Oletetaan books.xml on jo ladattu
xmlDoc
kesken - Käyttää
getElementsByTagName()
Hanki book-piste - Poista "category"-ominaisuus ensimmäisestä book-elementtipisteestä
Esimerkki 2
Toista ja poista kaikki <book>-elementtien "category"-ominaisuudet:
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
Poista ominaisuusnode objektin perusteella
removeAttributeNode()
Metodi poistaa ominaisuusnodeja käyttämällä Node-objektia parametrina.
Seuraava koodi poistaa kaikki <book>-elementtien ominaisuudet:
Esimerkki
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 selityksestä:
- Oletetaan books.xml on jo ladattu
xmlDoc
kesken - Käyttää
getElementsByTagName()
Hanki kaikki book-solut - Tarkista, onko jokaisella book-elementillä ominaisuus
- Jos book-elementissä on ominaisuus, poista se
- Edellinen sivu DOM muuttaa solua
- Seuraava sivu DOM korvaa solun