У меня проблема с форматированием пробелов на Java. Я добавляю новый атрибут в свой файл, но у него неправильный формат.XML-форматирование пробелов в Java
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>
Ваш вопрос будет понятнее, если у вас не было элементов смешения с именем «атрибут» ... –