首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

KSOAP的soapObject转换成pojo的工具种

2012-07-16 
KSOAP的soapObject转换成pojo的工具类最近在android上使用KSOAP,于是写了这个工具类。比较简单,利用反射将

KSOAP的soapObject转换成pojo的工具类

最近在android上使用KSOAP,于是写了这个工具类。

比较简单,利用反射将属性注入到pojo里面去。

?

使用方法:

User u = SoapObjectUtil.soapToPojo(User.class,soapObject);
?

?

代码:

?

/** * soapObject->javaBean转化工具 * @author zjf * */public class SoapObjectUtil {/** * soap转化为javabean * @param <T> * @param clazz * @param soapObject * @return * @throws IllegalArgumentException * @throws SecurityException * @throws IllegalAccessException * @throws InvocationTargetException * @throws NoSuchMethodException * @throws InstantiationException */public static <T> T soapToPojo(Class<T> clazz, SoapObject soapObject)throws IllegalArgumentException, SecurityException,IllegalAccessException, InvocationTargetException,NoSuchMethodException, InstantiationException {Field[] fields = clazz.getDeclaredFields();Object obj = clazz.newInstance();for (Field f : fields) {String method = "set" + f.getName().substring(0, 1).toUpperCase()+ f.getName().substring(1);if (hasMethod(method, clazz.getMethods())) {clazz.getMethod(method, new Class[] { f.getType() }).invoke(obj,new Object[] { soapObject.getProperty(f.getName()) });}}return (T) obj;}private static boolean hasMethod(String methodName, Method[] method) {for (Method m : method) {if (methodName.equals(m.getName())) {return true;}}return false;}}

热点排行