У меня есть XML-файл с установленной кодировкой: <?xml version="1.0" encoding="ISO-8859-15"?>, но на самом деле файл кодируется в UTF-8. Есть ли способ переопределить кодировку, объявленную в XML-файле, при демаршаллинге с помощью JAXB?
<?xml version="1.0" encoding="ISO-8859-15"?>
Вы можете разархивировать содержимое из java.io.Reader, чтобы указать фактическую кодировку:
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(); }
Для получения дополнительной информации