解决XML空结点格式问题:
如有的XML标准空结点如:<GNo></GNo>要求生成<GNo/>的形式。利用DOM4J的document.asXML方法解决。
/**
* @Title: marshaller
* @Description: 生成XML报文,并解决空节点问题:如<GNo></GNo>改为<GNo/>
* @param @param marobject
* @param @param mappingfile
* @param @param fileName
* @param @return
* @param @throws Exception
* @return String
* @throws
*/
public static String marshaller(Object marobject, String mappingfile,String fileName) throws Exception {
String objStr = "";
try {
Mapping map = new Mapping();
map.loadMapping(mappingfile);
if (true) {
StringWriter sw = new StringWriter();
Marshaller marshaller = new Marshaller(sw);
marshaller.setEncoding("UTF-8");
marshaller.setMapping(map);
marshaller.marshal(marobject);
sw.flush();
objStr = sw.toString();
FileOutputStream fo = new FileOutputStream(new File(fileName));
PrintStream so = new PrintStream(fo,true,"UTF-8");
Document document = DocumentHelper.parseText(objStr);
so.print(document.asXML());
sw.close();
}
} catch (Exception ex) {
throw new Exception("marshaller() " + ex.toString());
}
return objStr;
}