import java.lang.reflect.Field;
public static Object xmlToObject(String xml,Class clazz) throws Exception{
Object obj = clazz.newInstance(); Field[] fields = clazz.getDeclaredFields(); for(Field field : fields){ String fieldName = field.getName(); String fieldName_start = "<" +fieldName + ">"; String fieldName_end = "</" + fieldName + ">"; String fieldVal = null; if(xml.contains(fieldName)){ fieldVal = xml.substring(xml.indexOf(fieldName_start) + fieldName_start.length(), xml.indexOf(fieldName_end)); } if(!isNull(fieldVal) && !"null".equals(fieldVal) && !"NULL".equals(fieldVal)){ String setMethodName = "set" + fieldName.substring(0,1).toUpperCase() + fieldName.substring(1); clazz.getDeclaredMethod(setMethodName,String.class).invoke(obj, new Object[]{fieldVal}); } } return obj; } |
|