代码截取自安卓实验7,配置环境Android studio3.6版本64位版模拟器为Android7.0,SDK最小限制Android4.2,注释部分使用提示框来显示提取到的值,用以调试。
View.OnClickListener readXmlButtonListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
XmlPullParser parser = resources.getXml(R.xml.people);
String msg = "";
try {
while (parser.next() != XmlPullParser.END_DOCUMENT) {
String people = parser.getName();
String name = null;
String age = null;
String height = null;
if ((people != null) && people.equals("person")) {
int count = parser.getAttributeCount();
for (int i = 0; i < count; i++) {
String attrName = parser.getAttributeName(i);
String attrValue = parser.getAttributeValue(i);
if ((attrName != null) && attrName.equals("name")) {
name = attrValue;
} else if ((attrName != null) && attrName.equals("age")) {
age = attrValue;
} else if ((attrName != null) && attrName.equals("height")) {
height = attrValue;
}
// AlertDialog.Builder builder = new AlertDialog.Builder(ResourceFileDemo.this);
// if (attrName!=null){
// builder.setTitle(attrName+"bh") ;
// builder.show();
// }
// else{
// builder.setTitle("na?") ;
// builder.show();
// }
}
if ((name != null) && (age != null) && (height != null)) {
msg += "姓名:"+name+",年龄:"+age+",身高:"+height+"\n";
}
}
}
} catch (Exception e) {
Log.e("ResourceFileDemo", e.getMessage(), e);
}
displayView.setText(msg);
}
};
people.xml
<?xml version="1.0" encoding="utf-8"?>
<persons>
<person
name="wangxsxsx"
age = "12"
height = "165"
>
</person>
</persons>
点击事件的运行效果