XML DOM Verwyder nodes
Die removeChild() metode verwyder 'n gespesifiseerde nodus.
Die removeAttribute() metode verwyder 'n gespesifiseerde kenmerk.
Probeer dit self - voorbeelde
Die voorbeelde gebruik die XML-lêer books.xml .
Hierdie voorbeeld gebruik removeChild() om die eerste <book> element te verwyder.
Hierdie voorbeeld gebruik parentNode en removeChild() om die huidige <book> element te verwyder.
teksnodus Hierdie voorbeeld gebruik removeChild() om die teksnodus van die eerste <title>-element te verwyder.
teksnodus uit. Hierdie voorbeeld gebruik die nodeValue()-eienskap om die teksnodus van die eerste <title>-element skoon te maak.
Hierdie voorbeeld gebruik removeAttribute() om die "category"-kenmerk van die eerste <book>-element te verwyder.
Hierdie voorbeeld gebruik removeAttributeNode() om alle eienskappe van alle <boek>-elemente te verwyder.
Verwyder 'n Element Node
Die removeChild() metode verwyder 'n gespesifiseerde nodus.
Wanneer 'n nodus verwyder word, word al sy kind nodusse ook verwyder.
Hierdie kode sal die eerste <boek>-element van die gelaaide xml verwyder:
Voorbeeld
y = xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Stel die veranderlike y om die elementnodus te wees om te verwyder
- Verwyder die element node deur die removeChild() metode van die ouer node te gebruik
Verwyder Myself - Verwyder die Huidige Node
Die removeChild() metode is die enigste manier om 'n gespesifiseerde nodus te verwyder.
Wanneer jy na die nodus navigeer het wat jy wil verwyder, is dit moontlik om daardie nodus te verwyder deur die parentNode-eienskap en die removeChild()-metode te gebruik:
Voorbeeld
x = xmlDoc.getElementsByTagName("book")[0];
x.parentNode.removeChild(x);
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Stel die veranderlike y om die elementnodus te wees om te verwyder
- Verwyder die element node deur die parentNode eiendom en die removeChild() metode te gebruik
Verwyder 'n teksnode
Die removeChild() metode kan ook gebruik word om 'n teksnodus te verwyder:
Voorbeeld
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
x.removeChild(y);
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Stel die veranderlike x om die eerste titelelementnodus te wees
- Stel die veranderlike y om die teksnodus te wees om te verwyder
- Verwyder die element node deur die removeChild() metode van die ouer node te gebruik
Dit is nie baie algemeen om removeChild() te gebruik net om die teks van 'n nodus te verwyder nie. Die nodeValue-eienskap kan eerder gebruik word. Sien volgende paragraaf.
Vee 'n teksnode uit
Die nodeValue- eienskap kan gebruik word om die waarde van 'n teksnodus te verander:
Voorbeeld
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Kry die eerste titelelement se eerste kindnodus.
- Gebruik die nodeValue-eienskap om die teks van die teksnodus skoon te maak
Verwyder 'n kenmerknode volgens naam
Die removeAttribute( ) metode verwyder 'n kenmerknodus op sy naam.
Voorbeeld: removeAttribute('kategorie')
Hierdie kode verwyder die "kategorie"-kenmerk in die eerste <boek>-element:
Voorbeeld
x = xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Gebruik getElementsByTagName() om boeknodes te kry
- Verwyder die "kategorie" kenmerk van die eerste boek element nodus
Loop deur en verwyder die "kategorie"-kenmerk van alle <boek>-elemente:
Verwyder kenmerknodes volgens objek
Die removeAttributeNode( ) metode verwyder 'n kenmerknodus, met behulp van die nodusobjek as parameter.
Voorbeeld: removeAttributeNode(x)
Hierdie kode verwyder al die eienskappe van alle <boek>-elemente:
Voorbeeld
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);
}
}
Voorbeeld verduidelik:
- Gestel " books.xml " is in xmlDoc gelaai
- Gebruik getElementsByTagName() om alle boeknodusse te kry
- Kontroleer vir elke boekelement of daar enige eienskappe is
- Terwyl daar kenmerke in 'n boekelement is, verwyder die kenmerk