Как отформатировать XML-файл при создании?

322
20 августа 2017, 04:11

Всем здравствуйте.

Вот код, который создаёт XML-файл.

public void createFile(List<Integer> list) {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder;
        try {
            builder = factory.newDocumentBuilder();
            Document document = builder.newDocument();
            Element root = document.createElement("entries");
            document.appendChild(root);
            for (Integer value : list) {
                Element subRoot = document.createElement("entry");
                root.appendChild(subRoot);
                Element entry = document.createElement("field");
                entry.setTextContent(String.valueOf(value));
                subRoot.appendChild(entry);
            }
            StreamResult file = new StreamResult(new File("1.xml"));
            Transformer transformer = TransformerFactory.newInstance().newTransformer();
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            DOMSource source = new DOMSource(document);
            transformer.transform(source, file);
        } catch (ParserConfigurationException | TransformerException e) {
            e.printStackTrace();
        }
    }

Получается файл с таким содержанием:

<entries>
<entry>
<field>1</field>
</entry>
<entry>
<field>2</field>
</entry>
<entry>
<field>3</field>
</entry>
...
</entries>

Как привести его к такому виду?

<entries>
    <entry>
        <field>1</field>
    </entry>
    <entry>
        <field>2</field>
    </entry>
    <entry>
        <field>3</field>
    </entry>
...
</entries>

Как сделать этот отступ? Спасибо.

Answer 1

Надо включить отступы INDENT и настроить их величину (сколько этот отступ будет длину, так сказать)

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
READ ALSO
Создание multi-page editor в eclipse

Создание multi-page editor в eclipse

Надо создать плагин для eclipse на основе шаблона Multi-Page editorНачал идти по этой инструкции http://www

309
не запускается команда в cron

не запускается команда в cron

пытаюсь запустить такую команду в cron

235
Cannot resolve symbol

Cannot resolve symbol

Почему IDE выделяет красным spinnerSecond после аннотации? Я же прописал его в onCreate()

368