File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes I/O and Streams and the fly likes XML Encoding problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » I/O and Streams
Bookmark "XML Encoding problem" Watch "XML Encoding problem" New topic

XML Encoding problem

Jonathan Gerrish

Joined: Mar 25, 2003
Posts: 24

Having trouble with encoding related to an XML translation, the XML comes to me as a byte array, its encoded using extended latin. I think the following code should work, I set the encoding where I can, both on the creation of the input source, and prior to the transformation, however, the transformation does not work. (Output is just the header XML line)

InputSource dteInputSource =
new InputSource(new ByteArrayInputStream(contents[1].getBytes()));

Property outputProps = new Properties();
props.setProperty(OutputKeys.ENCODING, "ISO-8859-1");
transformer.transform( xslName, new SAXSource(dteInputSource),
new StreamResult(oagWriter), props);

However, when I preform the same transformation, but reading the input as a file: -

InputSource dteInputSource =
new InputSource(new FileInputStream("myInput.xml"));

The transformation works as expected. The transformer reference is a wrapper class for JAXP Transformer and I am sure this is OK, I think the problem is to do with how I am trying to encode the byte stream.

Can anyone shed some light on this for me?

Many thanks, Jonathan.
I agree. Here's the link:
subject: XML Encoding problem
It's not a secret anymore!