【发布时间】:2020-04-07 03:42:15
【问题描述】:
我喜欢将xml Elem写入文件,但我想在elem的每个节点之间设置行分隔符,所以在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() 是否可以在这里指定行分隔符?
【问题讨论】:
-
仅供参考:
writeDTD()用于编写doctypedecl,即<!DOCTYPE ... >,而不是整个 XML 文档。 -
如果
Elem是一个DOM 节点,不要使用XMLStreamWriter来创建XML 文本。见How to pretty print XML from Java?
标签: java scala xmlstreamwriter