对简单的XML有成效。自己用的还不错。
不多说上代码:
/**
* 公用XNL解析
* @param cla 解析的实体(实体内的所有字段必须为String类型)
* @param result
*/
public void anaXML(Class<?> cla,String result){
List<Object> list=null;//return对象
try {
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(new StringReader(result));
Method[] methods=cla.getMethods();//获取实体内的所有方法
String className=cla.getSimpleName();//实体类名
int eventType = parser.getEventType();
list=new ArrayList<Object>();//实例化返回对象
while (eventType != XmlPullParser.END_DOCUMENT) {
String name = parser.getName();//获取节点Name
if(className.equalsIgnoreCase(name)&&eventType== XmlPullParser.START_TAG){//判断是否符合与实体类符合
Object o=cla.newInstance();//实体化实体类
for(int j=0;j<methods.length;j++){//循环实体内的方法
String metName=methods[j].getName();//获取方法Name
for (int i = 0; i < parser.getAttributeCount(); i++) {//循环xml内的值
String attributeName="set"+parser.getAttributeName(i);//为获取的XML中字段Name加set字符以便于与set方法匹配
if(attributeName.equalsIgnoreCase(metName)){//判断字段name与实体方法名是否相同
Method setMethod=cla.getMethod(metName, String.class);
setMethod.invoke(o,parser.getAttributeValue(i));
}
}
}
list.add(o);
}
eventType = parser.next();// 获取下一个节点的值
}
} catch (Exception e) {
e.printStackTrace();
}
}
声明
欢迎转载,但请保留文章原始出处
[Iteye]-
http://jnwsczh.iteye.com/blog/2019500
分享到:
相关推荐
一种基于结构相似性的Android公用库检测方法.pdf
XML通过SAX解析为JSON格式的文档 例子中的类稍微修改可以做做到公用
私车公用账务处理及税务问题解析.pdf
android-commons Android公用程式(例如Java端的Apache公用程式)。 这是Apache Commons的子集。
国际贸易实务习题集(公用版答案解析).doc
公用对话框,经典 公用对话框 公用对话框 公用对话框 公用对话框
Android给所有Activity添加全局自定义菜单,详情请参考http://blog.csdn.net/u011907407/article/details/69397138
各浏览器开发商已经达成协议,对XML实行严格而挑剔的解析,任何细小的错误都会被报告。你可以将上面的myfile.xml修改一下,比如将改为,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: <?xml version="1.0...
maven项目的一般配置
Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类
公用DNS解析器,可保护您免受广告跟踪器的侵害 | | AdGuard DNS AdGuard DNS是跟踪器阻止,隐私保护和父母控制的替代解决方案。 易于设置和免费使用,无论您使用什么平台和设备,它都为在线广告,跟踪器和网络钓鱼...
公用设备工程师(暖通空调)基础考试试题及答案解析.docx
注册公用设备工程师[暖通]考试模拟题和答案解析.doc
公用事业行业周报:关注公用事业避险投资机会.pdf
}在 AndroidStudio 中每一个组件都会有对应的 AndroidManifest.xml,application和library使用的AndroidManifest.xml不同,所以要为组件开发模式下的业务组件再创建一个 AndroidManifest.xml,然后根据isModule指定...
2021年5月份公用事业行业研究报告合集(共11份),供大家学习参考: 公用事业行业研究报告:业绩增长重归常态,助力行稳致远(2021)(19页).pdf 公用事业行业研究报告:全社会用电量维持较快增长,锂资源价格维持...
2019温州市政公用工程质量安全监督站招聘模拟试题及答案解析.docx
2019年四川省南充市市政公用协会招聘模拟试题及答案解析.docx
C#公用类库,包含了Redis,Memcached,Json,Xml,ADO.NET数据库操作兼容以下数据库(SQLSERVER,MYSQL,ORACLE,达梦,SQLITE,ACCESS,OLEDB,ODBC等数十种数据库),正则表达式,QueryableX(ORM)和E….zip