Dom4j Leerzeichen werden ignoriert

Hallo,

ich versuche gerade mit Dom4j in eine XML-Datei folgendes reinzuschreiben:

headElement.addElement(„leerzeile“).addText(" ");

In der XML-Datei sieht das dann aber so aus:

Er schluckt keine Leerzeichen, auch keinen leeren String.

Wie komm ich auf:
?

bzw.

Ich hab jetzt schon ne Stunde gegoogelt aber keiner hat dieses Problem.

Hat jemand eine Idee, wie ich einen leeren Tag erstellen kann?

Ich denke an XML kann es nicht liegen, sondern eher an Dom4j

Würde mich über jede Anregung freuen!

hallo,

sorry, aber ich frage mich:
willst du einen tag mit leerzeichen als inhalt oder
einen leeren tag?

als hinweis:

entspricht

lg

So müsste er rein geschrieben werden in die XML-Datei.

entspricht

Ja ich weiß, aber so darf er nicht ausschauen.

hallo,

da ich von dom4j nicht viel ahnung hab und nur mal so ins blaue rate (da im moment eh kein spezialist antwortet:

reicht nicht ein

headElement.addElement(„leerzeile“);

also ohne .addText(" ") ?

lg

Das Problem ist das ein XML Tag mit leeren „Textfeld“ automatisch zu konvertiert wird. Da kannst du nichts machen.

Du kannst ein also als Text übergeben und im Abhängigkeit vom XML Parser bleibt das CDATA stehen oder wird gelöscht, aber was bleiben sollte ist das Leerzeichen.

1 Like

Hmm das ist natürlich sehr blöd. Da muss ich mir wohl etwas anderes einfallen lassen… aber trotzdem danke für die Anregungen!

was ich mich nur frage, warum brauchst du unbedingt

was ist das Problem mit

wenn du unbedingt das brauchst, muss du die XML Datei als Textdatei einlesen und von „Hand“ aus

das

machen

das grobe Vorgehen wäre

//reader init
BufferedReader reader = .....

//eine Schleife bauen, um alle Zeilen zu lesen
String line = reader.readLine();

//das Tag ändern
String newLine = line.replace("", "");

//ein konstrukt bauen um die "neue" zeile in eine Temp-Datei zu speichern
//wenn alles fertig, "original Datei" löschen und Temp-Datei zur "original Datei" machen