当前位置:主页 > 软件编程 > JAVA代码 >

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

时间:2021-03-14 09:51:15 | 栏目:JAVA代码 | 点击:

/**
	 * 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:

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

您可能感兴趣的文章:

相关文章