# XML einlesen von URL mit JDOM: Umlaute gehen kaputt



## KrustyDerClown (15. August 2007)

Hallo Zusammen,

folgendes Problem:

Ich lese derzeit XML von einer URL ein. Das XML sieht folgermaßen aus:


```
<?xml version="1.0" encoding="utf-8"?>
<meinTest>
  <item>
    <meinName><![CDATA[Meine Umlaute ä ö ü é]]></meinName>
  </item>
</meinTest>
```

Ich lese das XML mit JDOM ein:


```
String htmlOutput 		= "";
URL url 				= null;
Document doc 			= null;
SAXBuilder builder 			= new SAXBuilder();
XMLOutputter xmlOutputter 	= new XMLOutputter(); 
ByteArrayOutputStream bais 	= new ByteArrayOutputStream();

url = new URL(urlString);
doc = builder.build(url);

Source     xmlFile    	= new JDOMSource( doc ); 
JDOMResult htmlResult 	= new JDOMResult();
Transformer transformer = TransformerFactory.newInstance().newTransformer( 
    					new StreamSource(xslFilePath) );
transformer.transform(xmlFile, htmlResult);
xmlOutputter.output(htmlResult.getDocument(),bais);
htmlOutput 		= bais.toString();
```

Also wie ihr seht mache ich noch mit XSLT HTML draus, aber da liegt nicht das Problem.

Beim Einlesen haut er mir schon die Umlaute weg. Sehe ich durch die Ausgabe mit 


```
xmlOutputter.output(doc, System.out);
```

Dort steht dann folgendes:


```
Meine Umlaute?? ??
```

Wie kann ich die Umlaute erhalten?

Habe auch bereits hier im Forum gesucht und auch etwas gefunden, allerdings nie eine Lösungm it JDOM.

Kann jemand helfen?

vielen Dank im Voraus.

Viele Grüße
Oliver


----------



## zerix (15. August 2007)

Hallo,

kannst du nicht ein anderes Encoding wählen?

MFG

zEriX


----------



## KrustyDerClown (15. August 2007)

Für das XML, nein.


----------



## schnuffie (15. August 2007)

```
URL url = new URL("http://www.webnobis.com");
InputSource in = new InputSource(url.openConnection().getInputStream());
in.setEncoding("UTF-8");
Document doc = DocumentBuilderFactory.newDocumentBuilder().parse(in);
// Dein weiterer Code
```
 
Ob die Umlaute überhaupt mit UTF-8 kommen, weiß ich nicht, normalerweise mußt Du ISO-8859-1 für ä, ö, ü nehmen.


----------



## KrustyDerClown (16. August 2007)

Danke für deine Antwort.

Habe inzwischen zu DOM4J gewechselt. Kann ich wirklich nur jedem empfehlen.

http://www.dom4j.org/guide.html

Super leicht. Bei mir schneller als JDOM. Von 2 sek auf 1,2 sek. Und im Guide sind für einige (grundlegende) Sachen einfache Beispiele.

Gruss Oliver


----------

