разбирать XML блок за блоком в Android

1

Я разбираю XML с DOM, у меня есть теги данных, например:

<data>
    <option>abc</option>
    <option>ijk</option>
    <option>fgh</option>
    <option>njk</option>
    <option>klj</option>
    <option>opi</option>
</data>
<data>
    <option>abc</option>
    <option>ijk</option>
    <option>fgh</option>
    <option>njk</option>
    <option>klj</option>
    <option>opi</option>
</data>

Я хочу вставить параметры в список в моем макете, как я могу сделать то же самое, что и pls. Я хочу, чтобы он просто анализировал данные первого блока, а для следующего он запрашивал событие триггера, например, щелчком по кнопке.

Thanx заранее.

Теги:
dom
android-xml

2 ответа

1
Лучший ответ

Поскольку вы хотите разбирать частичные данные XML, было бы лучше использовать XmlPullParser.

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

public class PartialXmlParser{
    private XmlPullParser xpp;

    public PartialXmlParser(String xml){
         XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
         factory.setNamespaceAware(true);
         xpp = factory.newPullParser();

         xpp.setInput( new StringReader (xml ) );
    }

    public List<String> getData(){
        List<String> retValue = new List<String>();
        //Logic to read one block of data and add to retValue
        //
        return retValue;

    }
}

и вызвать getData метод в случае обратного вызова (например, OnClick кнопки). Не забудьте использовать один и тот же экземпляр объекта для получения данных.

0

Платформа Java поддерживала множество различных способов работы с XML в течение некоторого времени, и большинство API-интерфейсов, связанных с Java, полностью поддерживаются на Android. Например, Java Simple API для XML (SAX) и Document Object Model (DOM) доступны на Android. Оба этих API уже много лет являются частью технологии Java. Более новый Streaming API для XML (StAX) недоступен в Android (Дополнительно).

Это лучший пример того, как разбирать xml в android так же, как и ваша проблема. Вот пример XML XML SAX Parser. Анализ XML в Android (метод DOM) является лучшим примером для Dom Methodhttp://www.androidhive.info/2011/11/андроид-XML-синтаксический-учебник/.

XmlResourceParser - это интерфейс XML-анализа, возвращенный для ресурса XML. Это стандартный интерфейс XmlPullParser, а также расширенный интерфейс набора атрибутов и дополнительный метод close() на этом интерфейсе, чтобы клиент указывал, когда это делается, считывая ресурс (Дополнительно).

и не забывайте это видеть. Parsers, используемые в Android

Ещё вопросы

Сообщество Overcoder
Наверх
Меню