Мы анализируем документ XML с использованием JAXB и получаем эту ошибку:
[org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315)
Что именно это означает и как мы можем решить эту проблему?
Мы выполняем кодкак:
jaxbContext = JAXBContext.newInstance(Results.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(getSchema());
results = (Results) unmarshaller.unmarshal(new FileInputStream(inputFile));
Обновление
Возможно, проблема связана с этим «забавным» символом в файле XML: ¿
Почему это вызывает такую проблему ??
Обновление 2
В файле есть два таких странных символа.Они находятся в середине файла.Обратите внимание, что файл создан на основе данных в базе данных, и эти странные символы каким-то образом попали в базу данных.
Обновление 3
Вот полный фрагмент XML:
<Description><![CDATA[Mt. Belvieu ¿ Texas]]></Description>
Обновление 4
Обратите внимание, что заголовок <?xml ...?>
отсутствует.
HEX для специального символа - BF