作为第一行返回null的XML解析器
问题描述:
我正在使用XML解析器从XML文件中读取数据。作为第一行返回null的XML解析器
XML解析器将第一行读取为空,然后从所创建的xml文件中返回其他数据。
以下是XML解析代码:
XmlResourceParser parser = getResources().getXml(R.xml.contacts);
int eventType = -1;
try {
while (eventType != XmlResourceParser.END_DOCUMENT)
{
if(eventType == XmlResourceParser.START_TAG)
{
if(parser.getName().toString().equals("contact") && parser.getName().toString().equals("null"))
col.append(parser.getAttributeValue(null, "name") + "\n");
col.append(parser.getAttributeValue(null, "phone") + "\n \n");
}
eventType = parser.next();
}
}
catch (XmlPullParserException e) {
e.printStackTrace();
}
以下是XML文件:
<?xml version="1.0" encoding="utf-8"?>
<contacts>
<contact name="Prathama Blood Center" phone="079 26600101" />
<contact name="Green Cross" phone="079 25507013"/>
<contact name="Crossworld Blood Bank" phone="079 26568004"/>
<contact name="Adarsh Voluntary Blood Bank" phone="079 22746672"/>
<contact name="Red Cross" phone="079 27551790"/>
</contacts>
以下是我得到的画面:
答
眼下您的if
的范围只扩展到第一col.append
我不知道为什么你需要一个if语句(因为它从来没有真正的)这里的范围应该是什么:。
if(parser.getName().toString().equals("contact") && parser.getName().toString().equals("null"))
{ //here
col.append(parser.getAttributeValue(null, "name") + "\n");
col.append(parser.getAttributeValue(null, "phone") + "\n \n");
}//and here
'parser.getName()的toString()等于(“接触”)&& parser.getName()。toString()。equals(“null”)'我不认为这会永远返回'true'? – Aprian