Синтаксический анализ XML не работает на Android-сборке приложения lwuit

Я использую синтаксический анализатор Kxml2 для анализа xml-ответа, полученного в качестве ответа с удаленной страницы. Он предназначен для аутентификации пользователя, и в возвращенном xml содержится несколько подробностей о пользователе. Приложение построено на LWUIT 1.5 и работает в версиях MIDP и Blackberry. На версии для Android это не работает. Есть ли какие-то дополнительные спецификации, которые я должен добавить, чтобы Android работал правильно?

1 ответ

Решение

В LWUIT есть XMLParser, он очень прост в использовании. Вы можете попробовать использовать это. Он отлично работает в моих приложениях MIDP и BB. Я не могу проверить это в Android, но я думаю, что это может быть решением. Как вы портируете свои приложения LWUIT на Android?

ДОБАВЛЯТЬ

Ну, я постараюсь объяснить использование этого парсера как можно лучше

Вам необходимо импортировать эти пакеты:

import com.sun.lwuit.xml.Element;
import com.sun.lwuit.xml.XMLParser;

В моем проекте я извлекаю XML из HTTPConnection,

Предположим, наш XML выглядит следующим образом:

  <?xml version="1.0" encoding="UTF-8"?>
    <xml>
     <TagFromXML>
       <child>
         <data>HI</data>
       </child>
     </TagFromXML>
    <TagFromXML>
      <child>
         <data>HI2</data>
       </child>
     </TagFromXML>
    </xml>

Затем сделайте следующее:

InputStream is = hc.openInputStream();
InputStreamReader isr = new InputStreamReader(is, "utf-8");
XMLParser myParser = new XMLParser();
Element e = myParser.parse(isr);
Vector tagVector = e.getChildrenByTagName("TagFromXML");
for(int i = 0; i<tagVector.size();i++){
 Element singleTag = (Element) tagVector.elementAt(i);
 Element child = (Element) (singleTag.getChildrenByTagName("child")).elementAt(0);
 Element data = (Element) (child.getChildrenByTagName("data")).elementAt(0);
 System.out.println("DATA: " + data.getChildAt(0).getText());
}

Ты получишь

ПРИВЕТ

HI2

Я надеюсь, что это работает для вас.

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