transformer.setOutputProperty () не вступает в силу - Java 8 - PullRequest
0 голосов
/ 24 февраля 2019

Я использую библиотеку poi для написания XML-файла с использованием преобразователя, и у меня есть следующие свойства sat:

java 1.8

//for output to file, console
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        //for pretty print
        transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, "yes"); //TODO
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(OutputKeys.METHOD, "xml");     
        transformer.setOutputProperty(OutputKeys.STANDALONE, "yes"); 

Но результат появляется с standalone = "no" ибез пробелов / отступов *

Результат:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<MainStruct>
<StringArray1 value="H1"/>
<StringArray1 value="H1"/>
<StringArray1 value="H1"/>
<StringArray1 value="H1"/>
<Table>
<IntVar1 value="1"/>
<StringVar1 value="String1"/>
<IntVar2 value="2"/>
<StringVar2 value="S"/>
</Table>
.
.

Ожидаемый:

<?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?>
<MainStruct>
   <StringArray1 value="H1"/>
   <StringArray1 value="H1"/>
   <StringArray1 value="H1"/>
   <StringArray1 value="H1"/>
   <Table>
      <IntVar1 value="1"/>
      <StringVar1 value="String1"/>
      <IntVar2 value="2"/>
      <StringVar2 value="S"/>
   </Table>
.
.
...