# xml knoten mit attribut löschen



## console (14. Jan 2009)

Nabend, ich hab nen Problem beim Löschen eines Knoten der ein Attribut enthält

Folgende XML-Struktur hab ich:

<test>
<beruf uid="arbeiter">
<name uid="hans"
<link>www.java-forum.org</link>
<name uid="erwin">
<link>www.trallalala</link>
</beruf>
<beruf uid="arbeitsloser">
<name uid="klaus"
<link>www.arbeitsamt.de</link>
</beruf>
</test>

Das ist nur ein Beispiel  Ich möchte nun wenn ich die knoten mit der uid klaus löschen, danach prüfen ob der knoten beruf noch weitere knoten hat, wenn nicht soll auch er gelöscht werden. Mit dem Löschen hab ich nicht so das Problem, wohl aber die Knoten unter beruf mit der uid arbeitsloser zu zählen!? Die Methode hasChildNotes liefert mir true obwohl gar keine Knoten mehr drin sind...

Der Eintrag nachdem Löschen sieht dann auch so aus:

<beruf uid="arbeitsloser">

<beruf/>


Hat jemand vllt ne Idee und mag mir auf die Sprünge helfen?


----------



## Tobias (14. Jan 2009)

'türlich liefert die true, ist doch noch das child "link" da?!


----------



## Guest (15. Jan 2009)

Nein, sieht dann halt so aus wie ichs geschrieben hab:

<beruf uid="arbeitsloser">

<beruf/>


----------



## mikachu (19. Feb 2009)

Ja wenn das so aussieht, wie du es geschrieben hast, ist das vollkommen klar, dass hasChildNodes dir true zurückliefert.


<!-- open element 'beruf', which never is closed -->
<beruf uid="arbeitsloser">

<!-- another element 'beruf' -->
<beruf/>

Selbst, wenn das richtig wäre, würde hasChildNodes true zurückliefern, da ja ein unsichtbarer Text (\n und andere Whitespacezeichen) zwischen dem Start- und Ende-Tag liegen!

#Edit 1:
Wenn du das mit DOM machst, ist es kein Problem... einfach nach dem Löschen den Parent-Knoten aufrufen und sehen, ob da noch weitere Knoten enthalten sind, die KEIN reiner Textknoten sind.


----------

