removeChild() : wie zu entfernen Spiegelstrich, zu?

Betrachten Sie das folgende XML-Dokument:

<items>
   <item>item1</item>
   <item>item2</item>
</items>

Nun, lassen Sie uns entfernen Sie alle Elemente und fügen Sie einige neue Elemente. Code:

  //-- assume we have Element instance of <items> element: items_parent
  //  and the Document instance: doc

  //-- remove all the items
  NodeList items = items_parent.getElementsByTagName("item");

  for (int i = 0; i < items.getLength(); i++){
     Element curElement = (Element)items.item(i);
     items_parent.removeChild(curElement);
  }

  //-- add a new one
  Element new_item = doc.createElement("item");
  new_item.setTextContent("item3");
  items_parent.appendChild(new_item);

Neuer Inhalt der Datei:

<items>


   <item>item3</item>
</items>

Diese lästigen Leerzeilen erschien, weil removeChild() entfernt Kind, aber es lässt Einzug entfernt Kind und Zeilenumbruch zu. Und diese indent_and_like_break behandelt wird wie ein text-content, der Links im Dokument.

In der stellt sich die Frage, ich gepostet Problemumgehung:

items_parent.setTextContent("");

Es entfernt diese leeren Zeilen. Aber dies ist eine Art von hack, entfernt es die Wirkung, nicht die Ursache.

So, die Frage ist, über die Beseitigung der Ursache: wie zu entfernen Kind mit seiner Absicht, mit Zeilenumbruch?

  • Check this
  • Vielen Dank, das löste das Problem für mich. Sie können diese wie eine Antwort, und ich werde es akzeptieren. Oder, die Frage ist eigentlich nicht korrekt, also, vielleicht Kennzeichnen Sie Sie als eine doppelte oder sogar zu löschen, nicht sicher..
  • Wenn es Euch gefällt, bis abstimmen die verlinkten Frage
  • Ich habe bereits von Ihnen positiv bewertet werden sowohl Frage-und Antwort-ohne Ihre Erwähnung, natürlich.
InformationsquelleAutor Dmitry Frank | 2013-01-10
Schreibe einen Kommentar