[Java] XML Problem

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Xen0n, 2. Februar 2011 .

Schlagworte:
  1. 2. Februar 2011
    XML Problem

    Hallo RRler.

    Ich habe folgende XML Datei:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <node1>
     <node2>& # 4 7 ;</node2> //OHNE LEERZEICHEN 
    </node1>
    
    Über diese lasse ich meine Javaapp laufen, welche den Inhalt dieser XML in einer andere XML eins zu eins übernehmen soll. Was ich jedoch erhalte ist folgendes:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <node1>
     [highlight]<node2>/</node2>[/highlight] 
    </node1>
    
    Das "& # 4 7 ;" (ohne Leerzeichen) wurde zu "/" konvertiert (rot markiert). Das möchte ich allerdings nicht. Kann mir jemand sagen wo mein Fehler liegt? Es folgt der Java-Code:

    Code:
     import org.jdom.input.SAXBuilder;
     import org.jdom.Document;
     import org.jdom.output.XMLOutputter;
     [...]
     //main ruft debug() auf ...
     [...]
    
     private void debug() throws Exception {
     //lesen
     File f = new File("D:/[...]/encoding.xml");
     SAXBuilder sax = new SAXBuilder();
     Document doc = sax.build(f);
    
     //XML Schreiben
     FileOutputStream fos = new FileOutputStream(new File("D:/tmp/encoding/test1.xml"));
     XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
     outputter.output(doc, fos);
     fos.flush();
     fos.close();
     }
    
    Ich muss das Problem auf diesem Weg lösen (mit JDOM ), bitte keine Alternativvorschläge.

    Vielen Dank im Voraus.
     
  2. 2. Februar 2011
    AW: XML Problem

    versuch mal <![CDATA[& # 4 7 ;]]> in der XML, das dürfte die probleme lösen.

    ich befürchte dass der das direkt parsed, da diese &.... sachen ansich nur codierungen für einzelne zeichen sind

    edit:

    versuch mal:
    SAXBuilder sax = new SAXBuilder();
    sax.setExpandEntities(false);
    Document doc = sax.build(f);
     
  3. 2. Februar 2011
    AW: XML Problem

    Es wäre in meinem Fall leider zu komplex das jedes mal einzeln zu ändern (habe hier nur ein vereinfachtes Beispiel vorgeführt).

    Klappt leider nicht.

    Trotzdem danke für deine Mühe, ne BW haste dafür.

    Das Thema hat sich für mich jetzt erledigt (passe mich dem "/" an, statt es zu ändern). Ich lasse das Thema trotzdem mal auf, da mich eine Lösung doch interessieren würde.
     
  4. 20. Februar 2011
    AW: XML Problem

    Hallo Xen0n,

    meines Wissens müssen in XML die folgenden Character escaped werden:
    Code:
    "
    <
    >
    &
    Kannst Du die XML-Datei so generieren, dass das Slash "im Klartext" in der XML-Datei steht ?

    Hoffe das hilft (Nur so'ne Idee).

    BG MaxDev

    PS: SAXBuilder kenne ich nicht. Java auch sehr wenig.
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.