Android 4.0.3 parse XML: Неожиданный токен (позиция: ТЕКСТ @1: 2
Я пытаюсь разобрать XML и получить следующую ошибку, что может быть проблема?
I/System.out(8058): Неверная структура XML файла: Неожиданный токен (позиция: ТЕКСТ @1: 2 в java.io.StringReader@4113db88)
Это метод, который я анализирую с помощью
public final static Document XMLfromString(String xml){
Document doc = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xml));
doc = db.parse(is);
} catch (ParserConfigurationException e) {
System.out.println("XML parse error: " + e.getMessage());
return null;
} catch (SAXException e) {
System.out.println("Wrong XML file structure: " + e.getMessage());
return null;
} catch (IOException e) {
System.out.println("I/O exeption: " + e.getMessage());
return null;
}
return doc;
}
И вот XML, который я пытаюсь проанализировать:
<?xml version="1.0" encoding="UTF-8"?>
<app>
<Date Value="02.07.2012">
</Date>
</app>
Кажется, что это не похоже на знак вопроса. Можете ли вы сохранить файл XML с правильной кодировкой? (UTF-8)
Ваша строка java в кодировке UTF-16 будет использоваться по умолчанию. Чтобы создать документ с помощью строки, попробуйте следующее:
Document doc = db.parse(new ByteArrayInputStream(xmlData.getBytes()));
- Вопросы
- Xml-parsing
- Android 4.0.3 parse XML: Неожиданный токен (позиция: ТЕКСТ @1: 2