我已经解析了一个具有编码UTF-8的XML文件。很好解析。
我没有任何更改XML文件中的任何编码类型。
UTF-8的XML标头看起来像:
<?xml version="1.0" encoding="UTF-8"?>
没有上述格式的错误!!!
假设我有另一个文件要检查具有以下标头的良好形成:
<?xml version="1.0" encoding="UTF-16"?>
如何解决此错误?
java xml解析器通常会收到包裹在输入源对象中的输入。这可以用读取器参数构造,该参数可以为给定的Charset进行字符解码。
InputStream in = ...
InputSource is = new InputSource(new InputStreamReader(in, "utf-16"));
对于" UTF-16" charset,流应以字节订单标记开头,如果不是这样,则使用" UTF-16LE"或" UTF-16BE"。