Hilfe: Bekomme statt '>' '>' .

Status
Nicht offen für weitere Antworten.

nebulo

Bekanntes Mitglied
Hallo,

ich habe folgendes Problem. Ich will ein XML Document (JDOM) als String haben. Also verwende ich folgende Methode:

Code:
public static String getFormattedXMLString(Document doc) throws IOException {
		StringWriter strw = new StringWriter();
		XMLOutputter out = new XMLOutputter();
		out.output(doc, strw);	
		return strw.toString();
}

soweit so gut. Nun wird der Inhalt eines Childs des XML-Documents vorher mit folgender Methode "behandelt":

Code:
public static String bbCode2HTML(String bbCode) {

		/* replace [b] by <p class="bold"> */
		bbCode = bbCode.replaceAll("\\[b\\]", "<p class=\"bold\">");
		/* replace [/b] by </p> */
		bbCode = bbCode.replaceAll("\\[/b\\]", "</p>");

		/* replace [i] by <p class="italic"> */
		bbCode = bbCode.replaceAll("\\[i\\]", "<p class=\"italic\">");
		/* replace [/i] by </p> */
		bbCode = bbCode.replaceAll("\\[/i\\]", "</p>");

                .....
}

genau in den Inhalt dieses Elements gibt mir danach getFormattedXMLString(...) aus mit '&' statt '>' und '&' statt '<' hat jemand eine Idee wie ich das unterdrücken kann? Brauche das dringend mit '<' und '>' .

Gruß nebulo
 

SnooP

Top Contributor
naja ... & bzw. & sind die Escapes für > bzw. < - sie würden also im Browser erstmal korrekt dargestellt werden...
musst du denn die noch händisch wieder anfassen? Was spricht dagegen auf gt bzw. lt zu prüfen? statt auf < oder >?
 

nebulo

Bekanntes Mitglied
Also es ist tatsächlich nur der Teil auf den ich die bbCode2HTML anwende bei dem nachher die < durch '& l t ;' und > '& g t ;' dargestellt werden.

Das komische ist, dass ich letztendlich aus der XML per XSLT eine html transformiere und das Ergbenis, dass ich auf die Platte schreibe sieht folgender maßen aus.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<html>
  <head>
    <link href="datum.css" rel="stylesheet" type="text/css" />
    <link href="titelblack.css" rel="stylesheet" type="text/css" />
    <link href="bbCode.css" rel="stylesheet" type="text/css" />
  </head>
  <body alink="#990000" bgcolor="#cecbce" leftmargin="0" link="#000000" marginheight="0" marginwidth="0" text="#000000" topmargin="0" vlink="#000000">
    [img]./redpoint.gif[/img]
    <span class="datum">23.05.2007</span>
    <p class="titelblack">Neues Dokument zum testen</p>
    

    
    Das ist ein ganz normaler Text&br&Dies ist ein &p class="bold"&fetter Text&/p&&br&Dieser hier ist &p class="underlined"&unterstrichen&/p&&br&Das ist &a href="http://www.google.de" target=_blank&ein link&/a&
  </body>
</html>

Hier werden gt; und lt; leider verschluckt stehen überall dort wo ein & steht
Verstehe das nicht und selbst der Firefox zeigt nachher die '& g t ;' '& l t ;' an.
 

kleiner_held

Top Contributor
So wie du den Inhalt von JDOM Elementen den Text modifizierst, versuchst du ja im Endeffekt neue XHTML Elemente einzufuegen. JDOM kann das aber bei einer simplen Textersetzung nicht erkennen - alles was als Text-Content in einem Element steht wird von JDOM korrekt maskiert, also alle < werden zu & g t ; usw.
Du kannst also entweder erst nachdem du mit JDOM das Dokument in einen String transformiert hast, die Ersetzung vornehmen. Oder du musst eine etwas komplexere Ersetzungsmethode implementieren, die die erzeugten html tags als neue Elemente im JDOM Elementbaum einfuegt.
 

nebulo

Bekanntes Mitglied
Vielen Dank! Eigentlich hätte ich da auch selber drauf kommen können ^^.

Ich weiß gehört jetzt eigentlich in XML ... , aber ist es nicht möglich mit SAXBuilder o.Ä. einfach den String zu parsen sowie das bei einem ganzen Dokument auch geht mit:

Code:
String xml = "....";
SAXBuilder builder = new SAXBuilder();
StringReader reader = new StringReader(xml);
Document doc = builder.build(reader);
 

kleiner_held

Top Contributor
Ja das sollte gehen.
Ich wuerde den String noch in ein XML tag einfassen, um sicherzustellen, dass nur ein Wurzelelement existiert. Also
Code:
String xml  = "<root>" + meinStringMitErsetztenBBCodeTags + "</root>";
Nach dem Parsen hast du dann ein ein Document mit genau einem Wurzelelement, und alles unterhalb des Wurzelelements, kannstdu dann an der urspruengliche Stelle in deinem orginalen Elementbaum einfuegen.
 

nebulo

Bekanntes Mitglied
Danke! Genau das versuche ich zu machen aber ich mache wohl irgendetwas falsch.

Ich versuche folgendes:

Code:
String bbCodeParsed = "<root>"+BBCodeParser.bbCode2HTML(getContent())+"</root>";
SAXBuilder builder = new SAXBuilder();
StringReader reader = new StringReader(bbCodeParsed);
Document parsedDocument = builder.build(reader);
Element parsedRoot = parsedDocument.getRootElement();
List childs = parsedRoot.getChildren();
contentxml.removeContent();
contentxml.addContent(childs);

wobei contentxml das Element des originalen Documents ist.

Bekomme dann immer:

org.jdom.IllegalAddException: The Content already has an existing parent "root" - Zeile 9 wirft diese Exception
 

kleiner_held

Top Contributor
mach mal aus Zeile 7 gleich ein
Code:
List childs = parsedRoot.removeContent();
Das gibt die childs die entfernt wurden zurueck und die duerften dann keinen parent mehr gesetzt haben.
 

nebulo

Bekanntes Mitglied
Vielen Dank! Jetzt funktioniert das einfügen zwar aber es gibt trotzdem ein Problem:

wenn ich mit der oben dokumentierten XMLService.getFormattedXMLString(...) das transformierte Document in einen String umwandle und diesen ausgebe dann ist alles in Ordnung!

Wenn ich dann aber mit

Code:
public static Document transfromXML(Document source, File xslStylesheet)
		XSLTransformer transformer = new XSLTransformer(xslStylesheet);
		Document docTrans = transformer.transform(source);
		return docTrans;
}

Das Document transfomiere sind alle tags des Elements, dass ich ausgetauscht habe weg. An dieser stelle wird nur der Text angezeigt.
 

nebulo

Bekanntes Mitglied
Korrekt - vielen Dank! Jetzt muss ich mal darüber nachdenken wie ich das ganze löse.

EDIT: Ich habe nun eine schmutzige Lösung gefunden. Wer ähnliche Probleme hat und bei seiner Suche auf dieses Thema stößt kann sich gerne bei mir per pn melden.

Gruß nebulo
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Hilfe bei Methode Allgemeine Java-Themen 14
M Javascript Hilfe bei ToDoList? Allgemeine Java-Themen 1
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
T Hilfe bei negation von suchabfrage Allgemeine Java-Themen 2
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
N Hilfe bei RegEx benötigt Allgemeine Java-Themen 3
A Hilfe beim Verständnis Allgemeine Java-Themen 16
V Hilfe mit Java Code Allgemeine Java-Themen 4
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
alinakeineAhnungv Hilfe bei einem Straßenbahn-Projekt von mir Allgemeine Java-Themen 18
Aboya Kugel mit Hilfe von Dreiecken rekursiv zeichnen Allgemeine Java-Themen 2
K Anzeigemöglichkeit von Bildern in JavaFX mit Hilfe von MongoDB GridFS Allgemeine Java-Themen 0
A Preisberechnung, Hilfe Allgemeine Java-Themen 4
M Bräuchte Hilfe bei der Aufgabe Allgemeine Java-Themen 1
s_1895 Hilfe bei Java Tic Tac Toe Allgemeine Java-Themen 8
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
J Hilfe, Jar Datei kann nicht ausgeführt werden Allgemeine Java-Themen 2
M Hilfe bei einer Java Programmieraufgabe! Ab morgen Montag um 08:00 Uhr Allgemeine Java-Themen 5
B Bei Email: FW / AW... - Hilfe bei String suche Allgemeine Java-Themen 21
U Erste Schritte Hilfe bei simplem Glücsspiel in Java Allgemeine Java-Themen 4
K OOP Suche Hilfe + Erklärung für eine Hausaufgabe Allgemeine Java-Themen 1
K Objektorientierung, hilfe Allgemeine Java-Themen 9
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
D Hilfe bei Informatik Hausaufgaben Allgemeine Java-Themen 30
RalleYTN Brauche Hilfe beim Run-Length-Decoding Allgemeine Java-Themen 9
S Hilfe bei dem Auslesen einer YAML Datei Allgemeine Java-Themen 8
F NetBeans Hilfe!!! Allgemeine Java-Themen 23
H Schiffe versenken JButton Schiffe mit GUI verbinden Hilfe! Allgemeine Java-Themen 2
M Bitte Hilfe mit REGEX (Negieren) Allgemeine Java-Themen 4
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
S GetMethode erstellen mit Hilfe von Parametern Allgemeine Java-Themen 9
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
B Hilfe bei Übungsblätter Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
C Hilfe Bei Vegas Slide Allgemeine Java-Themen 0
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
Ice4P4rty Hilfe Bei Promillerechner Allgemeine Java-Themen 9
C Atfx mit Hilfe von OpenAtfx auslesen Allgemeine Java-Themen 1
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
G Hilfe bei Projektarbeit Allgemeine Java-Themen 5
GenerationLost Input/Output Custom Serialization - hilfe bei Realisierung Allgemeine Java-Themen 8
J Hilfe!!! Ausbildung Allgemeine Java-Themen 14
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
T Hilfe bei Code Allgemeine Java-Themen 3
U Swing Hilfe beim Quellcode für ein Codierungs-/Decodierungsprogramm Allgemeine Java-Themen 9
S Hilfe bei Gui Allgemeine Java-Themen 3
O Best Practice Hilfe bei Algorithmus gesucht Allgemeine Java-Themen 10
GRAZZ0R Hilfe zum Spiel Mensch ärger dich nicht Allgemeine Java-Themen 1
C Hilfe bei den Ausgaben Allgemeine Java-Themen 4
K Hilfe bei GUI für Pizza-Service Allgemeine Java-Themen 11
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
I Bitte Drngend hilfe Allgemeine Java-Themen 2
C Hilfe bei NoClassDefFoundError Allgemeine Java-Themen 14
C Hilfe bei einer Fehler meldung Allgemeine Java-Themen 3
I Methoden Schnelle Hilfe benötigt - Kleines Video/Slideshow aus mehreren Bildern erstellen Allgemeine Java-Themen 3
C Hilfe bei einer Point Ausgabe Allgemeine Java-Themen 7
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
N Erste Schritte [HILFE] effizienter,leistungsfähigermbackground Pixelbot Allgemeine Java-Themen 5
A Hilfe gesucht Allgemeine Java-Themen 44
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
C Hilfe bei MalformedURLException Allgemeine Java-Themen 7
D Baum zeichnen hilfe Allgemeine Java-Themen 4
M Hilfe bei parseInt Allgemeine Java-Themen 4
F Compiler-Fehler Hilfe bei Startup error Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
F Socket NullPointerException Bitte um hilfe! Allgemeine Java-Themen 12
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
M Brauche Hilfe bei Quellcodeverständnis Allgemeine Java-Themen 4
B Zahlen ausgeben hilfe! Allgemeine Java-Themen 8
S Java USB dringend Hilfe! Allgemeine Java-Themen 6
X Hilfe bei Programm Allgemeine Java-Themen 5
zer0zer0 Best Practice apache common cli - optionen für hilfe ausblenden Allgemeine Java-Themen 5
F Bitte um Hilfe! Allgemeine Java-Themen 5
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
D Brauche Hilfe bei Rechnung (Exponentiation) Allgemeine Java-Themen 12
F Brauche Hilfe bei Java Allgemeine Java-Themen 6
S Hilfe bei simplem Programm Allgemeine Java-Themen 3
J Ein blutiger Anfänger braucht Hilfe Allgemeine Java-Themen 7
B Hilfe bei JUnit Test Allgemeine Java-Themen 1
A ALTER TABLE mit Hilfe von RegEx zerlegen, splitten Allgemeine Java-Themen 5
B Dringend Hilfe gesucht für Struktogramm Allgemeine Java-Themen 11
C Brauche Hilfe mit Modulo Strategie Allgemeine Java-Themen 2
S Brauche Hilfe: Prüfungsaufgabe Java Allgemeine Java-Themen 8
J Probleme bei kompilieren ... Bitte um Hilfe Allgemeine Java-Themen 2
G java.exe in System 32. Hilfe!!! Allgemeine Java-Themen 8
M google plus java api - Anfänger sucht Hilfe Allgemeine Java-Themen 7
M Hilfe mit JOptionPane Allgemeine Java-Themen 2
I Hilfe: Klasse Vieleck Allgemeine Java-Themen 5
I javax.sound.sampled.* - Hilfe zu den Controls Allgemeine Java-Themen 8
C Hilfe bei Adressbuch-Programmierung, wie am Besten mit JList implementieren Allgemeine Java-Themen 2
S Hilfe bei der Cosinusapproximation Allgemeine Java-Themen 10
K Arraylist Hilfe Allgemeine Java-Themen 13
K Hilfe Felder Allgemeine Java-Themen 7
T Hilfe im Lizenz-Dschungel Allgemeine Java-Themen 11
S brauche Hilfe für ssh connection in java Allgemeine Java-Themen 6
W sql Query abspeichern selber variabele hilfe...? Allgemeine Java-Themen 16
N Hilfe bei Projekt Allgemeine Java-Themen 5

Ähnliche Java Themen


Oben