我在下面编写代码来获取XML输出。
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.newDocument();
Element element = document.createElement("Test");
Text text = document.createTextNode("");
element.appendChild(text);
document.appendChild(element);
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
我得到的是
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Test/>
我想要的是
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Test></Test>
我该怎么做?
非常感谢。
答案 0 :(得分:2)
没有干净的方法可以做到这一点..
如果您对使用管道胶带解决方案感到满意,可以让变压器输出html而不是xml:
transformer.setOutputProperty(javax.xml.transform.OutputKeys.METHOD, "html");
但同样,我必须指出这不是一个干净的解决方案,但它为我做了伎俩,因为我遇到了类似的问题