Zeilenumbruch nicht von Java interpretieren

Status
Nicht offen für weitere Antworten.

Samson_Miller

Bekanntes Mitglied
Ich habe ein xml-Dokument mit folgenen Auszug:

Code:
<element>Hier steht& # 1 0 ;& # 1 0 ;Text</element>

Ich habe bei "& # 1 0 ;"extra die Leerzeichen angegeben, da es sonst hier im Forum auch als Zeilenumbruch interpretiert wird.


Jetzt möchte ich gerne den Text in eine String speichern und auf der Konsole ausgeben. Ich möchte aber nicht, das Java die& # 1 0 ; als Zeilenumbruch interpretiert, sondern auch so abspeichert. Es sollte in dem String dann also folgendes Stehen und auch auf dem Bildschirm ausgegeben werden(natürlich dann ohne Leerzeichen):

Code:
Hier steht& # 1 0 ;& # 1 0 ;Text

Wie kann ich das machen?
 
ebenso Leerzeichen einfügen?
string = string.replaceAll("abc","a b c");
 
In dem xml dokument stehen auch keine Leerzeichen drin, ich möchte nicht den String durch replace verändern, ich möchte genau den Text auf dem Bildschirm ausgeben. Kann man es abschalten, das Java Zeichenfolgen interpretiert?
 
ein String ist eine Folge von char, letztlich von Bits und Bytes,
da wird überhaupt nichts interpretiert

> ich möchte genau den Text auf dem Bildschirm ausgeben

hier liegt wohl eher der Hund begraben,
und da Java nunmal kein Monitor ist, ist die einzige Möglichkeit, den Monitor (wer immer das auch ist) zu beeinflussen, indem du den String doch änderst

--------

oder wird der String interpretiert eingelesen, so dass du \n im Java-String hast?
dann musst du dir das Einlesen genauer anschauen
 
möglichkeit a)
Code:
<someTag><![CDATA[ hier kommt & # 10 ;
 toller text ]]></someTag>

oder b) in deinem xmlparser das auflösen von entities deaktivieren, was dann allerdings für _alle_ entities gilt.

oder c) eigenen entityresolver schreiben der & # 10 ; nicht interpretiert

ich persönlich würde lösung a) wählen
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben