OK, fixed this myself - of course it was an encoding issue but knowing what the 
problem is and fixing it are different altogheter!

I had to change from using a StringWriter to using a ByteArrayOutputStream (cos 
you can't specify an encoding with Writers, but you can with OutputStreams):

Then use out.toString() to get the XML (with the correct encoding)...

BTW, is there a way to find out what encoding a particular DOM is using?  There 
does not seem to be a Document.getEncoding() method...


Pete
------------------------------

DOMSource    incomingDOM       = (DOMSource) sources[0];
Document     incomingDoc       = incomingDOM.getNode().getOwnerDocument();
Element      incomingElement   = (Element) incomingDOM.getNode();
String       incomingNamespace = incomingElement.getNamespaceURI();
OutputFormat format            = new OutputFormat(incomingDoc, "UTF-8", false); 
   //Serialize DOM

OutputStream out  = new ByteArrayOutputStream();
OutputStreamWriter osw = null;
try{
        osw = new OutputStreamWriter( out , "UTF8" );
} catch(Exception e) {
        System.out.println("Could not create OutputStreamWriter");
        e.printStackTrace();
}

XMLSerializer serial      = new XMLSerializer(osw, format);

try {
        serial.serialize(incomingElement);
} catch(Exception e) {
        System.out.println("Serialization exception");
        e.printStackTrace();
}


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to