Jesteśmy parsowania dokumentu XML przy użyciu JAXB i uzyskać ten błąd:Wyjaśnienie błędu JAXB: nieprawidłowy bajt 1 z 1-bajtowy UTF-8 sekwencji
[org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315)
Co to dokładnie znaczy i jak możemy rozwiązać to??
Jesteśmy wykonywanie kodu jako:
jaxbContext = JAXBContext.newInstance(Results.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(getSchema());
results = (Results) unmarshaller.unmarshal(new FileInputStream(inputFile));
Aktualizacji
Problem pojawia się z powodu tego znaku "śmieszne" w pliku XML: ¿
Dlaczego Czy spowodowałoby to taki problem?
Aktualizacja 2
Istnieją dwa z tych dziwnych znaków w pliku. Są w środku pliku. Zauważ, że plik jest tworzony na podstawie danych w bazie danych i te dziwne znaki jakoś dostały się do bazy danych.
Update 3
Oto pełna XML fragment:
<Description><![CDATA[Mt. Belvieu ¿ Texas]]></Description>
Update 4
Zauważ, że nie ma <?xml ...?>
nagłówka.
HEX do szczególnego charakteru jest BF
Oznacza to, że dane wejściowe są uszkodzone .... niewiele mogę powiedzieć bez dodatkowych informacji. – skaffman
Dodano więcej informacji. Czy to ma jakiś sens? Dzięki za pomoc! –
Czy możesz opublikować sekcję pliku XML, który zawiera obraźliwy tekst. – ChrisF