I have a Java program that is writing information from a database to an XML 
file.  I create a DOM document, add an element, and set the value with:

    Element id=parent.createElement("EventRuleInputDefinition");
...
    id.setAttribute("Value", getVal());

Later, I then go to write the Document with:

        StringWriter sw = new StringWriter();
...
            TransformerFactory transformerFactory =
                TransformerFactory.newInstance();
...
                Transformer transformer = transformerFactory.newTransformer();
                transformer.setOutputProperty (OutputKeys.ENCODING, "UTF-8");
                // Puts each stanza on a new line
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                DOMSource source = new DOMSource(node); // node is the document 
root.
                StreamResult result = new StreamResult(sw);
                transformer.transform(source, result);

The XML file is properly generated with the header:
<?xml version="1.0" encoding="UTF-8"?>
But the element is written with an actual umlaut character which when read back 
in generates the error:

[Fatal Error] :564:103: Invalid byte 1 of 1-byte UTF-8 sequence.
org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.

We're using Xerces 2.8.1 (don't laugh, I know it's a bit old).  Could this be 
an issue in Xerces, or am I doing something wrong?

Thanks.

---------------------------------------------------------------------
To unsubscribe, e-mail: j-users-unsubscr...@xerces.apache.org
For additional commands, e-mail: j-users-h...@xerces.apache.org

Reply via email to