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 循环只处理一次并完成。xmlPullParse.getLineNumber 返回(-1),但我认为它应该返回大于零的数字。

我应该怎么做才能再次解析 xml 文件?

4

0 回答 0