Я пишу приложение для Android, которое анализирует XML-канал с помощью XmlPullParser.
Это XML, который я пытаюсь разобрать:
Это код, где он взрывается:
public List parseRouteInfo(InputStream in) throws XmlPullParserException, IOException {
try {
XmlPullParser parser = Xml.newPullParser();
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(in, null);
// This is the line
parser.nextTag();
parser.require(XmlPullParser.START_TAG, ns, "RoutePattern");
return readPatterns(parser);
} finally {
in.close();
}
}
И это исключение:
org.xmlpull.v1.XmlPullParserException: unexpected type (position:END_DOCUMENT null@1:1 in java.io.InputStreamReader@416d80a8)
Чтобы система приняла URL-адрес, я изменяю символ &
в параметре URL-адреса на &
, но помимо этого я следую Руководство по синтаксическому анализу XML для Android как можно точнее.
Я понимаю, почему генерируется исключение (не найдено ни START_TAG
, ни END_TAG
), но я не могу понять, почему синтаксический анализатор находится на END_DOCUMENT
.
END_DOCUMENT
, больше не является проблемой. - person Phillip Carter   schedule 29.12.2013