kxml дает исключение xmlpullparser - PullRequest
       28

kxml дает исключение xmlpullparser

0 голосов
/ 23 августа 2011

Я проверил 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 ]

1 голос
/ 28 августа 2011

Похоже, что вы не участвуете в событии START_TAG при вызове parser.nextText(). Проверьте, что вы участвуете в событии START_TAG при вызове parser.nextText() с parser.getEventType().Я подозреваю, что у вас есть пробел между тегами <comments> и <comment>, и, следовательно, ваш анализатор находится не в том случае, если вы ожидаете, что он будет.

Возможно, вам также следует рассмотреть более безопасный подход для анализа этого xml.

0 голосов
/ 24 августа 2011
<comments>
          <comment>Awesome Question @dulitha
            <idComment></idComment>
           </comment>
</comments>

это не верно xml

...