Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

XML Encoding problem

 
Jonathan Gerrish
Greenhorn
Posts: 24
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

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()));
dteInputSource.setEncoding("ISO-8859-1");

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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic