String req = "<Document><Item></Item><Document>"
Document document = DocumentHelper.parseText(req);
document.asXML();
这样转化后会变成:
<Document><Item/><Document>
如果希望还是原来的格式,可以用下面的方法替代asXML()方法,doucment转为字符串格式:
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.METHOD, "html");
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
StringWriter writer = new StringWriter();
Source docSource = new DocumentSource(document);
transformer.transform(docSource, new StreamResult(writer));
String result = writer.getBuffer().toString()
关键是:
transformer.setOutputProperty(OutputKeys.METHOD, “html”);
除了dom4j外,还可以解决其它例如:org.w3c.dom
Source 是一个接口,用不同的实现就可以都使用这种方法。
Source docSource = new DOMSource(document);
单用这种方法可能不能完全解决问题,因为这么处理后它会自动在转化后的字符串里加上“”内容,这个要自己手动处理了。