Avatar billede kla Nybegynder
10. august 2005 - 07:47 Der er 1 kommentar og
1 løsning

Remove af Node i en XML struktur

Hej

Jeg har et problem, vil gerne kunne fjerne node + evt. under noder i en xml struktur.
Jeg har forsøgt følgende:

Jeg kan godt fjerne node på første niveau (uden andre under noder), men når jeg skal have fat i node med under noder, får jeg ikke lov/ingen effekt...

Håber nogen kan sige hva' jeg skal gøre :-)

Her er lidt kode ...

Et tagName kunne f.eks. se således ud : 'xxx/yyyy/www'

  this.xmlObj          = xmlObj;
 
  this.strXpath = "/";
 
  this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
 
  this.xmlDoc.async = false;
 
  this.xmlDoc.loadXML(xmlObj.value);
  this.root = this.xmlDoc.documentElement;
*************************************************************************
funktion removeNode(tagName)
{
//    alert('x1');     
    alert(this.getTag(tagName));
    alert('x2');
    oNode = this.root.selectSingleNode(this.strXpath + "/" + tagName);
    alert('x3 : ' + oNode + '.x.' + oNode.text);
    oNodeParent = oNode.parentElement();
    alert('x3a');   
    oNodeParent.removeChild(oNode);
    //this.root.removeChild(oNode);
    //oNode.removeNode(true);
    alert('x4');
}

Håber der er nogle som kan hjælpe mig med dette problem ...
/Kenneth
Avatar billede kla Nybegynder
10. august 2005 - 08:22 #1
Fandt selv en løsning på problemet med følgende script :-)

  try
  {
    oNode = this.root.selectSingleNode(this.strXpath + "/" + tagName);
   
    try
    {
      oParentNode = this.root.selectSingleNode(this.strXpath + "/" + parentTagName);         
      oParentNode.removeChild(oNode);
    }
    catch(e)
    {
      this.root.removeChild(oNode);
    }   
  }
  catch(ex)
  {  }
Avatar billede roenving Novice
10. august 2005 - 13:19 #2
Hvorfor bruger du ikke bare parentNode ?-)

oNode.parentNode.removeChild(oNode);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester