0
我在Java中格式化空白時遇到了問題。我爲我的文件添加了新的屬性,但它的格式不正確。Java中的XML空白格式化
Attr attr = doc.createAttribute("name");
attr.setValue("name");
element.setAttributeNode(attr);
element.setTextContent("Something=" + this.thumbnailCacheSize);
NodeList items = doc.getElementsByTagName("mbean");
Node e = items.item(0);
e.appendChild(element);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT,"yes");
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(filepath);
transformer.transform(source,result);
它應該是這樣的:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<server>
<mbean code="code" name="name">
<attribute name="name3">Something3=500</attribute>
<attribute name="name2">Something2=500</attribute>
<attribute name="name1">Something1=500</attribute>
<attribute name="name">Something=500</attribute>
</mbean>
</server>
但是像:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<server>
<mbean code="code" name="name">
<attribute name="name3">Something3=500</attribute>
<attribute name="name2">Something2=500</attribute>
<attribute name="name1">Something1=500</attribute>
<attribute name="name">Something=500</attribute>
</mbean>
</server>
當我用: transformer.setOutputProperty( 「{} http://xml.apache.org/xslt縮進量」,「 4" );
我得到:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<server>
<mbean code="code" name="name">
<attribute name="name3">Something3=500</attribute>
<attribute name="name2">Something2=500</attribute>
<attribute name="name1">Something1=500</attribute>
<attribute name="name">Something=500</attribute>
</mbean>
</server>
你的問題會更清楚,如果你沒有的元素混淆的名爲「屬性」 ...... –