org.xmlpull.v1.XmlPullParserException: чтение ключа конечного тега без открытых тегов

org.xmlpull.v1.XmlPullParserException: чтение ключа конечного тега без открытых тегов (позиция:END_TAG @1:7 в java.io.InputStreamReader@83d457b)

Android 6.0 (API 23) Что не так в xml? Или что еще может быть причиной этого исключения? Если я не ошибаюсь, @ 1: 7 - это строка 1 и символ 7 в этой строке (или может быть обратной строкой 7). Но я не нашел, что не так в этом XML.

Большое спасибо!

<plist version="1.0">
<dict>
<key>Golfs</key>
<array>
<dict>
<key>GLF_COD</key>
<string>0661</string>
<key>GLF_LIB</key>
<string>AA SAINT OMER GOLF CLUB</string>
<key>GLF_ADR_1</key>
<string>Chemin des Bois</string>
<key>GLF_ADR_2</key>
<string/>
<key>GLF_CPO</key>
<string>62380</string>
<key>GLF_DIS</key>
<string>ACQUIN WESTBECOURT</string>

    public class ClubCategoriesInflater extends XMLInflater<List<ClubCategory>> {

    @Override
    protected void onInflate(List<ClubCategory> clubCategories, InputStream stream) {

        int START_NUMBER = 2;
        int arrayTagNumber = 0;
        ClubCategory clubCategory = null;
        XmlPullParser parser = getParser();

        if (parser!=null){
            String startTag = null;
            String lastKey = null;
            try {
                int eventType = parser.getEventType();
                while (eventType != XmlPullParser.END_DOCUMENT) {
                    if(eventType == XmlPullParser.START_TAG) {
                        startTag = parser.getName();
                        if ("array".equals(startTag)){
                            arrayTagNumber++;
                        }
                        if ("dict".equals(startTag)){
                            clubCategory = new ClubCategory();
                        }
                    } else if(eventType == XmlPullParser.END_TAG) {
                        startTag = null;
                        if (arrayTagNumber==START_NUMBER){
                            if ("dict".equals((parser.getName()))){
                                clubCategories.add(clubCategory);
                            }
                            if ("array".equals((parser.getName()))){
                                return;
                            }
                        }
                    } else if(arrayTagNumber==START_NUMBER && startTag!=null && eventType == XmlPullParser.TEXT) {
                        if (key.equals(startTag)){
                            lastKey = parser.getText();
                        }else if (string.equals(startTag)){
                            if ("id".equals(lastKey)){
                                clubCategory.id = Integer.valueOf(parser.getText());
                            }
                            else if ("name".equals(lastKey)){
                                clubCategory.name = parser.getText();
                            }
                        }
                    }
                    eventType = parser.next();
                }
            } catch (XmlPullParserException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Ссылка на этот xml https://esplic-ws1.ffgolf.org/iphone/get_golfs_plist.php?av=1.2&sv=6.0&sn=Android%20OS&su=c19f0b9cc0a3c911&sl=en&sm=Nexus+7

0 ответов

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