Android解析XML到对象工具类
来源:互联网 发布:windows最好的系统 编辑:程序博客网 时间:2024/05/18 03:58
- /**
- * 解析XML工具类
- */
- public class XmlUtils {
- /**
- * 解析XML转换成对象
- *
- * @param is
- * 输入流
- * @param clazz
- * 对象Class
- * @param fields
- * 字段集合一一对应节点集合
- * @param elements
- * 节点集合一一对应字段集合
- * @param itemElement
- * 每一项的节点标签
- * @return
- */
- public static List<Object> parse(InputStream is, Class<?> clazz,
- List<String> fields, List<String> elements, String itemElement) {
- Log.v("rss", "开始解析XML.");
- List<Object> list = new ArrayList<Object>();
- try {
- XmlPullParser xmlPullParser = Xml.newPullParser();
- xmlPullParser.setInput(is, "UTF-8");
- int event = xmlPullParser.getEventType();
- Object obj = null;
- while (event != XmlPullParser.END_DOCUMENT) {
- switch (event) {
- case XmlPullParser.START_TAG:
- if (itemElement.equals(xmlPullParser.getName())) {
- obj = clazz.newInstance();
- }
- if (obj != null
- && elements.contains(xmlPullParser.getName())) {
- setFieldValue(obj, fields.get(elements
- .indexOf(xmlPullParser.getName())),
- xmlPullParser.nextText());
- }
- break;
- case XmlPullParser.END_TAG:
- if (itemElement.equals(xmlPullParser.getName())) {
- list.add(obj);
- obj = null;
- }
- break;
- }
- event = xmlPullParser.next();
- }
- } catch (Exception e) {
- Log.e("rss", "解析XML异常:" + e.getMessage());
- throw new RuntimeException("解析XML异常:" + e.getMessage());
- }
- return list;
- }
- /**
- * 设置字段值
- *
- * @param propertyName
- * 字段名
- * @param obj
- * 实例对象
- * @param value
- * 新的字段值
- * @return
- */
- public static void setFieldValue(Object obj, String propertyName,
- Object value) {
- try {
- Field field = obj.getClass().getDeclaredField(propertyName);
- field.setAccessible(true);
- field.set(obj, value);
- } catch (Exception ex) {
- throw new RuntimeException();
- }
- }
- }
0 0
- Android解析XML到对象工具类
- android 解析xml 到 AttributeSet对象
- 【Android--工具】 SAX解析XML
- XML 解析工具类
- xml解析工具类
- XML解析工具类
- xml解析工具类
- XML解析工具类
- XML解析工具类
- xml解析工具类
- XML解析工具类
- xml解析工具类
- 解析xml工具类
- SAX解析XML并封装到对象
- android中解析xml文件的工具类XmlUtils
- Android代码小记之Xml解析工具类
- 解析xml的工具类
- dom4j-----解析xml工具类
- 初识android项目文件夹
- E: Sub-process /usr/bin/dpkg returned dpkg: error processing package samba-common-bin (--configure):
- Cognos TM1和Cognos 10 BI 的区别
- 华为OJ测试--公共字串计算(注意对字符串的调用方式)
- BZOJ 3864 Hero meet devil DP套DP
- Android解析XML到对象工具类
- NSData与NSString转换
- 黑马程序员-java基础IO流(3)
- 在Windows 7下安装和配置MonoGame
- Codeforces Round #308 (Div. 2)
- webpack echarts配置实例
- C++/MFC 句柄
- 黑马程序员 java构造函数
- JAVA的二进制高精度自然数算法
实体:
XML:
对应的参数: