Kuondoa Mabaki ya XML DOM

Method ya removeChild() inaondoa mwingine kwenye kina kubwa.

Method ya removeAttribute() inaondoa tabia kwenye kina kubwa.

Mfano

Mfano hii hutumia faili ya XML. books.xml.

Fungu loadXMLDoc(), iliyotumika kwenye JavaScript kwenye nje, kwa kuingia faili ya XML.

Kufungua elementi kama mwingine
Mfano huu hutumia removeChild() kufungua elementi <book> kwanza.
Kufungua elementi kwa sasa
Mfano huu hutumia parentNode na removeChild() kufungua elementi <book> kwa sasa.
Kusiringisha node ya text
Mfano huu hutumia removeChild() kufungua kina ya text kwenye elementi <title> kwanza.
Kufungua text kwenye kina ya text
Mfano huu hutumia property ya nodeValue() kufungua kina ya text kwenye elementi <title> kwanza.
Kufungua tabia kwa kuzingatia jina
Mfano huu hutumia removeAttribute() kufungua tabia "category" kwenye elementi <book> kwanza.
Kufungua tabia kwa kuzingatia kina
Mfano huu hutumia removeAttributeNode() kufungua tabia zote kwenye elementi <book>.

Kufungua elementi kama mwingine

Method ya removeChild() inaondoa mwingine kwenye jukwaa kubwa.

Kama ukirudisha mwingine, tabia yake ya watoto zote zinaondoka.

Mafuatilia ya kikodi kinakutia kufungua kwa kufungua kwanza <book> kwenye xml iliyoloodhashwa:

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

Mafano ya kuelewa:

  • Kutumia loadXMLDoc() Kuondoa "books.xml" kuondoa xmlDoc
  • Tunapokea muhalifu y kwa kuingia katika elementi ya mti inayotengenzwa
  • Kusiringisha elementi ya mti kutoka kwenye mti kwa kutumia method ya removeChild()

TIY

Kusiringisha mwenyewe - kusiringisha mti huu

Method ya removeChild() inaonekana kwa kusiringisha node inayotengenzwa kwa sababu yake pekee.

Kama unapata node inayotengenzwa ambao unataka kusiringisha, unaweza kutumia tabia ya parentNode na method ya removeChild() kusiringisha mti huo:

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

Mafano ya kuelewa:

  • Kutumia loadXMLDoc() Kuondoa "books.xml" kuondoa xmlDoc
  • Tunapokea muhalifu y kwa kuingia katika elementi ya mti inayotengenzwa
  • Kusiringisha elementi ya mti kwa kutumia tabia ya parentNode na method ya removeChild()

TIY

Kusiringisha node ya text

Method ya removeChild() inaweza kutumika kusiringisha node ya text:

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

Mafano ya kuelewa:

  • Kutumia loadXMLDoc() Kuondoa "books.xml" kuondoa xmlDoc
  • Tunapokea muhalifu x kwa kuingia katika elementi ya kwanza ya title
  • Tunapokea muhalifu y kwa kuingia katika node ya text inayotengenzwa
  • Kusiringisha node kutoka kwenye mti kwa kutumia method ya removeChild()

TIY

Haukutumiwa sana removeChild() kusiringisha node ya text kutoka kwenye mti. Inaweza kutumiwa tabia ya nodeValue. Angalia maelezo iliyofuata.

Kusiringisha node ya text

Tabia ya nodeValue inaweza kutumika kubadilisha au kusiringisha thamani ya node ya text:

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

Mafano ya kuelewa:

  • Kutumia loadXMLDoc() Kuondoa "books.xml" kuondoa xmlDoc
  • Tunapokea muhalifu x kwa kuingia katika node ya text ya kwanza ya title
  • Tumia tabia ya nodeValue kuondoa vichwa ya node ya text

TIY

Kulipata na kuhusisha vichwa vya mawili kwa kila elementi ya <title>.

Kusiringisha ukiaja wa tabia kwa jina

Method ya removeAttribute(name) inatumiwa kusiringisha ukiaja wa tabia kwa jina.

Mfano: removeAttribute('category')

Maktaba yaandiko inayotengenezwa hapa inaondoa tabia "category" ya kwanza <book> element

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

Mafano ya kuelewa:

  • Kutumia loadXMLDoc() Kuondoa "books.xml" kuondoa xmlDoc
  • Tumia kwa kuitumia getElementsByTagName() kuupata ukiaja wa book
  • Kumaliza muatili wa "category" kwenye kipimo cha kwanza cha book

TIY

Kumaliza na kufungua muatili wa "category" ya kipimo cha <book> kote: TIY.

Kufungua muatili wa kipimo kwa kuzingatia kipimo

Method ya removeAttributeNode inatumia kipimo cha Node kama kipakuo kufungua muatili wa kipimo

Mafanikio: removeAttributeNode(x)

Mafanikio ya kifungu hiki inafungua kila muatili wa kipimo cha <book> kote:

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);
  }
}

Mafano ya kuelewa:

  • Kutumia loadXMLDoc() Kuondoa "books.xml" kuondoa xmlDoc
  • Tumia getElementsByTagName() kufikia kila kipimo cha book
  • Tumia kufikia kila kipimo cha book kina muatili
  • Ikiwa kuna muatili kwenye kipimo cha book, rafisha muatili huo

TIY