使用 JAXB 在取消编组期间覆盖声明的编码

2022-09-04 01:26:02

我有一个XML文件,其中设置了编码:但实际上文件是用UTF-8编码的。有没有办法在使用 JAXB 取消编组时覆盖 XML 文件中声明的编码?<?xml version="1.0" encoding="ISO-8859-15"?>


答案 1

您可以从 中取消将内容从 中取消分组,以提供实际的编码: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();
}

详细信息


答案 2

推荐