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

Другие вопросы по тегам