用于ISO-8859-9的java xml解析

时间:2013-05-20 20:12:03

标签: java xml-parsing

我正在尝试将字符串解析为xml,用于ISO-8859-9。我的代码是:

private Document stringToXML(String input)
{
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder;
  builder = factory.newDocumentBuilder();           
  return builder.parse(new ByteArrayInputStream(input.getBytes("ISO-8859-9")));     
}

如果输入只包含utf-8字符,则代码运行正常但输入包括任何特殊字符,如'ğ',它会抛出“com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:” 我怎么解决这个问题?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

如果输入包含UTF-8字符,则它不是ISO-8859-9流。在尝试解析之前,将其解析为UTF-8或将其转换为ISO-8859-9。你只能为每个文档获得一个字符集,试图混合使整个事情变得毫无意义。