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

これを行うためのきれいな方法はありません..

ダクトテープ ソリューションを快適に使用できる場合は、トランスフォーマーに xml の代わりに html を出力させることができます。

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

しかし、繰り返しますが、これはきれいな解決策ではないことを指摘しなければなりませんが、同様の問題に悩まされていたので、うまくいきました

于 2013-10-07T13:30:23.393 に答える