0

我在下面编写了代码来获取 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>

我怎样才能做到这一点?

非常感谢。

4

1 回答 1

2

没有干净的方法可以做到这一点..

如果您对使用胶带解决方案感到满意,您可以让变压器输出 html 而不是 xml:

transformer.setOutputProperty(javax.xml.transform.OutputKeys.METHOD, "html");

但是,我必须再次指出,这不是一个干净的解决方案,但它对我有用,因为我遇到了类似的问题

于 2013-10-07T13:30:23.393 回答