Можно ли указать поведение EOL при использовании XMLOutputFactory?
Мне нравится записывать элемент XML в файл, но я хочу установить разделитель строк между каждым узлом элемента, поэтому при открытии файла в Windows или Ubuntu у меня есть правильный формат. например:
val lineSep = System.getProperty("line.separator")
val xmlData : Elem = <person>
<firstName>John</firstName>
<lastName>Doe</lastName>
<emails>
<email type=”primary”>john.doe@noone.com</email>
<email type=”secondary”>john.doe@noone.com</email>
</emails>
<address>
<street>595 Market Street</street>
<city>San Francisco</city>
<zip>94105</zip>
</address>
</person>
val xmlStreamWriter = XMLOutputFactory.newInstance.createXMLStreamWriter(outputstream)
xmlStreamWriter.writeDTD(xmlData)
Как записать это в файл с учетом lineSeparator? в XMLOutputFactory есть метод setProperty(), можно ли здесь указать разделитель строк?
1 ответ
Из стандартной библиотеки XML Scala - Руководство по началу работы:
Чтобы записать XML в файл:
scala.xml.XML.save("books.xml", books)
Для форматирования XML используйте
scala.xml.PrettyPrinter
чтобы настроить длину строки и уровень отступа:val pp = new scala.xml.PrettyPrinter(24, 4) pp.format(books)