我想知道是否有任何方法可以格式化我生成的XML文檔,從而使屬性垂直對齊?下面是我寫的轉換方法的一個片段。將XML格式化爲垂直對齊
我創建的元素是這樣的:
Element element = document.createElement(elementName);
element.setAttribute("name", nameAttribute);
element.setAttribute("id", idAttribute);
element.setAttribute("val", valAttribute);
然後將它們添加到文檔準備轉型。
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer;
try {
transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.VERSION, "1.0");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
DOMSource source = new DOMSource(document);
File file = new File(fileName);
StreamResult result = new StreamResult(file);
transformer.transform(source, result);
} catch (TransformerException e) {
e.printStackTrace();
}
我能夠得到壓痕的工作,但我也想知道是否有任何的方式來填充屬性,讓他們排隊彼此的下方。
目前,它看起來像:
<ref name="message" type="message.sender">
<p id="1" name="BeginString" val="${BeginString}"/>
<p id="36" name="Message" val="${Message}"/>
<p id="42" name="Sender" val="${Sender}"/>
<p id="73" name="SendingTime" val="${SendingTime}"/>
<p id="1134" name="Target" val="${Target}"/>
</ref>
但是我想有它的格式是這樣的。
<ref name="message" type="message.sender">
<p id="1" name="BeginString" val="${BeginString}"/>
<p id="36" name="Message" val="${Message}"/>
<p id="42" name="Sender" val="${Sender}"/>
<p id="73" name="SendingTime" val="${SendingTime}"/>
<p id="1134" name="Target" val="${Target}"/>
</ref>
我這樣做的唯一原因是,在較長的文件,它使內容更容易閱讀和程序將給予較少的技術人員的人也是如此。
感謝
有一種方法。自己寫XML文本*(不推薦)*。 – Andreas
@Andreas我的前任已經做好了這個工作,我不幸的是,現在需要承擔後果。我有看起來像這樣的線 'writer.write(「 \ n」);' –
Andrew