/**
* 将xml数据根据属性配置文件转换为Incident事件信息
* @param data
* @param propers2
* @return
*/
private List
<IncidentLog
> xml2Incident
(String data, ProperObject ppobj
) {
List<IncidentLog> logList = new ArrayList<IncidentLog>();
try {
doc = DocumentHelper.parseText(data);
} catch (DocumentException e1) {
e1.printStackTrace();
} // 将字符串转为XML
Element rootElt
= doc.
getRootElement(); // 获取根节点
List<Element> list = rootElt.elements();
IncidentLog log = new IncidentLog();
for (int i = 0; i < ppobj.getChildValueList().size(); i++) {
ProperObject obj = ppobj.getChildValueList().get(i);
try {
f = IncidentLog.class.getDeclaredField(obj.getValue());
if(f!=null){
f.setAccessible(true);
String value
= ele.
elementText(obj.
getName());
if("".equals(obj.getName())){//如果未设定属性值,取默认值
value = obj.getDefaultValue();
}
Class<?> clazz = f.getType();
String type
= clazz.
getName();
if(type.equals("java.sql.Timestamp")){//对Timestap进行处理
f.
set(log,
new Timestamp(DateUtil.
stringToDate(value
).
getTime()));
}else if(type.equals("java.lang.String")){
if(obj.getChildValueList()!=null && obj.getChildValueList().size()>0){//匹配的数据字典值转换
for(ProperObject valueObj: obj.getChildValueList()){
if(value.equals(valueObj.getName())){
f.set(log, valueObj.getValue());
break;
}
}
}else{
f.set(log, value);
}
}
}
//e.printStackTrace();
e.printStackTrace();
}
}
logList.add(log);
}
return logList;
}