1.xml定义,可以定义自己要的字段
<?xml version="1.0" encoding="utf-8"?>
<resources>
<AuthInfos>
<AuthInfo
PointX="100"
PointY="100"
Tag="el001"
Name="el001.png"/>
<AuthInfo
PointX="200"
PointY="200"
Tag="el002"
Name="el002.png"/>
</AuthInfos>
</resources>
2.java代码解析
private List<AuthInfo> getEnabels(){
XmlResourceParser xmlParser = getResources().getXml(R.xml.elabel);
List<AuthInfo> AuthInfos = new ArrayList<AuthInfo>();
int eventType = 0;
try {
eventType = xmlParser.getEventType();
//不是文件结尾就继续解析
while (eventType != XmlResourceParser.END_DOCUMENT) {
switch (eventType) {
//文件的内容的起始标签开始,注意这里的起始标签是elabel.xml文件
//里面<AuthInfos>标签下面的第一个标签AuthInfo
case XmlResourceParser.START_TAG:
String tagName = xmlParser.getName();
if (tagName.endsWith("AuthInfo")) {
AuthInfo authInfo = new AuthInfo();
authInfo.PointX = xmlParser.getAttributeValue(null, "PointX");
authInfo.PointY = xmlParser.getAttributeValue(null, "PointY");
authInfo.Tag = xmlParser.getAttributeValue(null, "Tag");
authInfo.Name = xmlParser.getAttributeValue(null, "Name");
AuthInfos.add(authInfo) ;
}
break;
case XmlResourceParser.END_TAG:
break;
case XmlResourceParser.TEXT:
break;
default:
break;
}
try {
eventType= xmlParser.next() ;
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (XmlPullParserException e) {
e.printStackTrace();
}
xmlParser.close() ;
return AuthInfos;
}
//定义类,解析后放入
class AuthInfo{
String PointX;
String PointY;
String Tag;
String Name;
}