XmlPullParser: Как я могу узнать, что такое START_TAG? - PullRequest
0 голосов
/ 09 марта 2020

У меня есть программа, которая анализирует XML, который может иметь несколько различных форматов.

Каждый тип имеет свой начальный тег.

Мой код синтаксического анализа начинается так:

        XmlPullParser parser = Xml.newPullParser();
        parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
        parser.setInput(in, null);
        parser.nextTag();
        while (parser.next() != XmlPullParser.END_TAG) {
            if (parser.getEventType() != XmlPullParser.START_TAG) {
                continue;
            }

Можно ли как-нибудь узнать, что такое тег START?

Я знаю, что могу просто открыть файл и прочитать и сравнить, затем закрыть его, снова открыть и затем проанализировать это, но возможно ли просто узнать, что XmlPullParser обнаружил как тег START?

1 Ответ

0 голосов
/ 09 марта 2020

ОК, я понял.

После первого nextTag () вы можете вызвать getName (), чтобы получить начальный тег:

XmlPullParser parser = Xml.newPullParser();
        parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
        parser.setInput(in, null);
        parser.nextTag();
        String startTag = parse.getTag();
        while (parser.next() != XmlPullParser.END_TAG) {
            if (parser.getEventType() != XmlPullParser.START_TAG) {
                continue;
            }
...