kxml дает исключение xmlpullparser
Я проверил SO на предмет исключения xmlpullparser, но он вызывает у меня другие вопросы по Android и SOUP. Я использую J2me и обычный HTTP-запрос для получения XML, и я использую kXMl для синтаксического анализа текста XML. Ниже приведен код, над которым я работаю. А над ним больше разбора кода и они работают отлично.
if (parser.getName().equals("comments")) {
event = parser.next();
boolean flag = false;
if (parser.getName().equals("comment")) {
flag = true;
System.out.println("Flag is true");
}
while (flag) {
event = parser.next();
Questioncomments.addComponent(new Label(parser.nextText()));
event = parser.next();
System.out.println("Inside the While");
if (!parser.getName().equals("comment")) {
flag = false;
System.out.println("Flag is false");
}
}
Questioncomments.repaint();
}
XML я отправляю эту сторону - <comments><comment>Awesome Question @dulitha<idComment></idComment></comment></comments>
Ошибка -
org.xmlpull.v1.XmlPullParserException: предварительное условие: START_TAG (позиция:TEXT Высокий вопрос...@1:399 в java.io.InputStreamReader@f828ed68) в org.kxml2.io.KXmlParser.exception(+47) в орг.kxml2.io.KXmlParser.nextText(+14) на com.petmill.mobile.view.qanda.QuestionCanvas.setData(QuestionCanvas.java:189) на com.petmill.mobile.view.qanda.QuestionsList$5$1$1.actionPerformed(QuestionsList.java:119)
Ошибка появляется в строке, где я пытаюсь получить текст - parser.nextText(). Как я могу разобрать xml, чтобы получить необходимые данные... Заранее спасибо.
2 ответа
Похоже, вы не на START_TAG
событие, когда вы звоните parser.nextText().
Убедитесь, что вы участвуете в мероприятии START_TAG, когда звоните parser.nextText()
с parser.getEventType()
, Я подозреваю, что у вас есть пробел между <comments>
а также <comment>
тэг и, следовательно, ваш парсер не в том случае, если вы ожидаете, что это будет.
Возможно, вам также следует подумать о более безопасном подходе для разбора этого xml.
<comments>
<comment>Awesome Question @dulitha
<idComment></idComment>
</comment>
</comments>
это не действительно XML