Java通过反射机制动态设置对象属性值

来源:互联网 发布:淘宝上怎么手机发货 编辑:程序博客网 时间:2024/05/22 13:02
/** * MethodName: getReflection<br> * Description:解析respXML 在通过反射设置对象属性值 * User: liqijing * Date:2015-7-19下午12:42:55 * @param clzzName  * @param respXML  * @return * @throws ClassNotFoundException * @throws DocumentException * @throws IllegalArgumentException * @throws IllegalAccessException * @throws InstantiationException * @throws SecurityException * @throws NoSuchFieldException */public static <T> Object getReflection(String clzzName , String respXML) throws ClassNotFoundException, DocumentException, IllegalArgumentException, IllegalAccessException, InstantiationException, SecurityException, NoSuchFieldException{Object o = Class.forName(clzzName).newInstance();Class clz = Class.forName(clzzName).newInstance().getClass();Document doc = null ;doc = DocumentHelper.parseText(respXML);Element el = doc.getRootElement();for (Field f : clz.getDeclaredFields()){Iterator it=el.elementIterator();while(it.hasNext()){Element elt = (Element) it.next();if(f.getName().equals(elt.getName())){f = clz.getDeclaredField(elt.getName());f.setAccessible(true);f.set(o, elt.getText());}}}return o;}


Dear All:

在开发过程中有类似的需求通过反射动态设置属性值,希望有帮助。也很高心与大家分享,谢谢。

0 0