XML Sonderzeichen & problem

Michael0501

Grünschnabel
Hallo!

Normalerweise werden ja XML Sonderzeichen einfach beim Einlesen durch eine JAVA XML API ersetzt.

Jetzt stehen aber in diesem XML File z.B.: "ú". Und hier liegt mein Problem, denn jetzt ersetzt mir die XML API nicht das SOnderzeichen #250 weil es das & scheinbar nicht erkennt.

Anderer Beispielfall: <entry>Don&amp;#39;t</entry> wird nicht richtig dargestellt.

Wenn die Zeichen korrekterweise z.B.: so stehen: ' , wird alles korrekt umgewandelt.

Hat jemand eine Idee wie ich das mit dem & regeln kann
 
Hallo,

ich glaube die Quelle deiner XML Datei hat beim generieren einen Fehler gemacht:
So schauts aus: <entry>Don&amp;#39;t</entry>
So solls ausschauen: <entry>Don't</entry>


Java:
package de.tutorials;

import java.io.StringReader;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class XMLEntityResolvingExample {
  public static void main(String[] args) throws Exception {
    SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
    DefaultHandler handler = new DefaultHandler() {
      public void characters(char[] ch, int start, int length) throws SAXException {
        System.out.print(new String(ch, start, length));
      }
    };

    parser.parse(new InputSource(new StringReader("<entry>Don&amp;#39;t</entry>")), handler);
    parser.parse(new InputSource(new StringReader("<entry>Don&amp;#39;t</entry>".replaceAll("&amp;#", "&#"))), handler);

  }
}

Gruß Tom
 
ich glaube die Quelle deiner XML Datei hat beim generieren einen Fehler gemacht:
So schauts aus: <entry>Don&amp;#39;t</entry>
So solls ausschauen: <entry>Don't</entry>

Ja das war auch das Problem!
Ich bekomme ja das XML - Feed von einem Server, diesen speichere ich einfach vorher in einem String und replace alle &amp;# mit &#, eh so wie du es gemacht hast! Dann funktioniert das sehr gut!
Danke!!
 
Zurück