0

初めて XML を正常に解析しました。コードは次のとおりです。

XmlPullParser xmlPullParser = getResources().getXml(R.xml.antennas);
    try
    {
        int eventType = xmlPullParser.getEventType();

        boolean requiredVendorLabel = false;

        while (eventType != XmlPullParser.END_DOCUMENT)
        {
            if(eventType == XmlPullParser.START_TAG && xmlPullParser.getName().equals("vendor"))
            {
                if(xmlPullParser.getAttributeValue(0).equals(newVendor.toString())) {

                    requiredVendorLabel = true;
                }
                else {
                    requiredVendorLabel = false;
                }
            }
            if(requiredVendorLabel && eventType == XmlPullParser.START_TAG && xmlPullParser.getName().equals("model"))
            {
                antennas.add(xmlPullParser.getAttributeValue(0));
            }

            eventType = xmlPullParser.next();
        }
    }
    catch (Throwable e) {
        Toast.makeText(getActivity(), "Cannot load file for parsing", Toast.LENGTH_SHORT);
    }

次に、同じコードで同じファイルを再度解析しようとしました。しかし、私は何も持っていません。while ループは 1 回だけ処理され、終了しました。xmlPullParse.getLineNumber は (-1) を返しましたが、0 より大きい数値を返すべきだと思いました。

xml ファイルを再度解析するにはどうすればよいですか?

4

0 に答える 0