<?xml version="1.0" encoding="utf-8"?>
<resources>
<Users>
<User
name="jason"
age="12"
location="Beijing"/>
<User
name="peter"
age="18"
location="Shanghai"/>
</Users>
</resources>
/**
* (从XML配置文件获取第三方模块的属性)
* @param fragmentActivity activity
* @param xmlID xml文件的ID
* @return List<User>
* @throws XmlPullParserException
* @throws IOException
*/
public static List<User> getUsersFromXML(FragmentActivity fragmentActivity,
int xmlID)
throws XmlPullParserException, IOException {
XmlResourceParser xmlParser =
fragmentActivity.getResources().getXml(xmlID);
List<User> users =
new ArrayList<User>
();
int eventType =
xmlParser.getEventType();
//不是文件结尾就继续解析
while (eventType !=
XmlResourceParser.END_DOCUMENT) {
switch (eventType) {
//文件的内容的起始标签开始,注意这里的起始标签是ThirdPartyUsers.xml文件
//里面<ThirdPartyUsers>标签下面的第一个标签ThirdPartyUser
case XmlResourceParser.START_TAG:
String tagName =
xmlParser.getName();
if (tagName.endsWith("ThirdPartyUser"
)) {
User user =
new User();
user.user = xmlParser.getAttributeValue(
null, "name"
);
user.age = xmlParser.getAttributeValue(
null, "age"
);
user.location = xmlParser.getAttributeValue(
null, "location"
);
users.add(user) ;
}
break;
case XmlResourceParser.END_TAG:
break;
case XmlResourceParser.TEXT:
break;
default:
break;
}
eventType=
xmlParser.next() ;
}
xmlParser.close() ;
return users;
}
转载于:https://www.cnblogs.com/jasonkent27/p/4694929.html