ISO88599的java xml解析
我正在尝试将ISO-8859-9的字符串解析为xml。我的代码是:
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:” 我怎样才能解决这个问题
# 1 楼答案
ParseaStringReader通过InputSource
# 2 楼答案
如果输入包含UTF-8字符,则它不是ISO-8859-9流。在尝试解析之前,将其解析为UTF-8或将其转换为ISO-8859-9。每个文档只有一个字符集,尝试混合会使整个文档变得毫无意义