dom4j解析xml字符串_hanCSDN_20130225
2013-03-15 10:49
351 查看
package com.dom4j.analyzer; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import com.dom4j.bean.IvrParamsBean; public class Dom4jAnalyzer { // 根据xml字符串解析成对象 @SuppressWarnings({ "unchecked", "rawtypes" }) public static Object analyzer(Class c, String xml) { Object targetObj = null; try { //初始化目标Bean targetObj = c.newInstance(); } catch (InstantiationException e1) { e1.printStackTrace(); } catch (IllegalAccessException e1) { e1.printStackTrace(); } try { Document document = DocumentHelper.parseText(xml); Element root = document.getRootElement(); List<Element> elements = root.elements(); //遍历解析xml字符串,一层结构的 for(int i=0;i<elements.size();i++){ Element element = elements.get(i); //填充Bean FillInToBean.fillIntoBean(c, targetObj, element.getName(), element.getText()); } return targetObj; } catch (DocumentException e) { e.printStackTrace(); } return null; } }
package com.dom4j.analyzer; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import com.dom4j.common.WordCaseChange; public class FillInToBean { public static void fillIntoBean(Class c, Object obj, String paramName, String paramValue) { try { //根据反射,使用setXxx方法设置Bean的属性 Method method = c.getDeclaredMethod("set" + WordCaseChange.toUpperCaseFirstOne(paramName), String.class); method.invoke(obj, paramValue); } catch (SecurityException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } }
package com.dom4j.common; public class WordCaseChange { //首字母转小写 public static String toLowerCaseFirstOne(String s) { if(Character.isLowerCase(s.charAt(0))) return s; else return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString(); } //首字母转大写 public static String toUpperCaseFirstOne(String s) { if(Character.isUpperCase(s.charAt(0))) return s; else return (new StringBuilder()).append(Character.toUpperCase(s.charAt(0))).append(s.substring(1)).toString(); } }
相关文章推荐
- dom4j解析xml字符串
- dom4j解析xml字符串实例
- dom4j解析xml字符串
- JDOM和DOM4J解析含有XML字符串的不同方式
- dom4j解析xml字符串实例
- dom4j解析xml字符串实例
- dom4j解析xml字符串实例
- java解析xml字符串(用dom4j)
- dom4j4.1.3解析XML字符串实例
- 字符串转换成XML并使用DOM、JDOM、DOM4J解析
- dom4j解析xml字符串实例
- dom4j解析xml字符串
- dom4j解析xml字符串实例
- 使用dom4j来解析相关的xml字符串
- 使用dom4j解析xml字符串
- java dom4j 解析xml字符串的操作实例
- java通过dom4j解析xml字符串的实例
- 使用dom4j生成xml字符串,以及解析xml字符串
- dom4j解析xml字符串实例
- 经典的dom4j解析xml字符串实例1