繁体   English   中英

将List [Node]写入Scala中的xml文件

[英]Writing List[Node] to an xml file in scala

我正准备将Node (xml's node)列表写入xml文件。

通过写:

 val xml = <x>{nodes}</x>

这里的节点是节点列表-我将所有节点都放在一行中。

如何在新行中打印每个节点?

这就是答案。 简而言之,您可以scala.xml.PrettyPrinter 您还应该记住(您可能确实如此),这些类从2.11版本开始在单独的库中提供。

例如:

scala> val printer = new scala.xml.PrettyPrinter(80, 2)

scala> val nodes = List(
           <lol>node level 1</lol>, 
           <bar><foo>node level 2</foo></bar>
       )

scala> printer.formatNodes(nodes)
res1: String =
<lol>node level 1</lol><bar>
  <foo>node level 2</foo>
</bar>

实际上,当我查看结果时,我发现它与所需的输出有些不同。 我建议使用更长的时间,但更符合您的期望的变体:

nodes.map(node => printer.format(node)).mkString("\n")

这将用\\n分隔每个节点:

<lol>node level 1</lol>
<bar>
  <foo>node level 2</foo>
</bar>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM