0

I am using sax parser to parse some xml files. While trying to do that i am hitting exception as:

java.io.UTFDataFormatException: Invalid UTF8 encoding.
    at oracle.xml.parser.v2.XMLUTF8Reader.checkUTF8Byte(XMLUTF8Reader.java:174)
    at oracle.xml.parser.v2.XMLUTF8Reader.readUTF8Char(XMLUTF8Reader.java:213)
    at oracle.xml.parser.v2.XMLUTF8Reader.fillBuffer(XMLUTF8Reader.java:134)
    at oracle.xml.parser.v2.XMLByteReader.saveBuffer(XMLByteReader.java:457)
    at oracle.xml.parser.v2.XMLReader.fillBuffer(XMLReader.java:2654)
    at oracle.xml.parser.v2.XMLReader.scanWhiteSpace(XMLReader.java:1749)
    at oracle.xml.parser.v2.NonValidatingParser.parseText(NonValidatingParser.java:1662)
    at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1574)
    at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:442)
    at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:388)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:232)
    at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:173)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)

The xml looks like:

<?xml version="1.0" encoding="UTF-8"?>
<Workflow xmlns="http://soap.sforce.com/2006/04/metadata">
    <alerts>
        <fullName>AccountTerminationImplementationCannotbePerformed2</fullName>
        <description>Account Termination Implementation Cannot be Performed 2</description>
        <protected>false</protected>
  ....
....
</Workflow>

any advise on how to overcome this?

Vik
  • 8,721
  • 27
  • 83
  • 168

1 Answers1

1
        MyHandler handler = new MyHandler();
        in =
            new ByteArrayInputStream(text.getBytes**("UTF-8")**);

did the trick

Vik
  • 8,721
  • 27
  • 83
  • 168