Clob zu XML-Doc wandeln, mit UTF-8

Hallo,

Ich muss ein Clob (oder auch einen String) in ein XML-Document (Klasse org.jdom.Document) wandeln. Leider habe ich Probleme mit Umlauten.

Zur Zeit erstelle ich das XML-Document folgendermassen:

1: Clob clobData = res.getClob("PIDATA");
2: Reader reader = clobData.getCharacterStream();
3: CharArrayWriter writer = new CharArrayWriter( );
4: int i = -1;
5: while ((i = reader.read()) != -1) { 
6: writer.write(i);
7: } 
8: DOMBuilder docBuilder = new DOMBuilder(false);
9: InputStream in = new StringInputStream(writer.toString()); 
10: doc = docBuilder.build(in);

In Zeile 10 wird bei Umlauten ein Fehler geworfen:

Root Exception is : org.jdom.JDOMException: Error in building from stream: Invalid byte 2 of 2-byte UTF-8 sequence.

Wie bekomme ich es hin, dass das XML trotz Umlauten korrekt erstellt wird?

Bin für alle Hinweise dankbar.

Viele Grüße,
Jan

CLob „kann“ nicht encoded werden, hat standardmäßig das encoding Iso-8859-1.
Nachdem dieses Enoding explizit gesetzt wurde (anstelle des Standardwert UTF-8) klappt nun auch das auslesen wunderbar, es lässt sich noch verkürzen:

 String strData = res.getString("PIDATA");
 DOMBuilder jdomBuilder = new DOMBuilder(false);
 doc = jdomBuilder.build(new StringInputStream(strData));

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]