第一次我成功地解析了 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 文件?