我有一个XML文件,其中包含编码集:<?xml version="1.0" encoding="ISO-8859-15"?>
,但实际上文件是用UTF-8编码的。当使用JAXB解组XML文件时,是否有一种方法可以覆盖在XML文件中声明的编码?
为了提供实际的编码,您可以对java.io.Reader
中的内容进行反编组:
Unmarshaller unmarshaller = jc.createUnmarshaller();
InputStream inputStream = new FileInputStream("input.xml");
Reader reader = new InputStreamReader(inputStream, "UTF-8");
try {
Address address = (Address) unmarshaller.unmarshal(reader);
} finally {
reader.close();
}
查看更多信息
- http://blog.bdoughan.com/2011/08/jaxb-and-java-io-files-streams-readers.html