tsj*_*nsn 9 xml formatting scala
我有一些使用嵌入式Scala生成的XML,但它并没有将生成的XML放在不同的行上.
目前,它看起来像这样,
<book id="0">
<author>Gambardella, Matthew</author><publish_date>Sun Oct 01 00:00:00 EDT 2000</publish_date><description>An in-depth loo
k at creating applications with XML.</description><price>44.95</price><genre>Computer</genre><title>XML Developer's Guide</title>
</book>
Run Code Online (Sandbox Code Playgroud)
但我希望它看起来像这样:
<book id="0">
<author>Gambardella, Matthew</author>
<publish_date>Sun Oct 01 00:00:00 EDT 2000</publish_date>
<description>An in-depth look at creating applications with XML.</description>
<price>44.95</price>
<genre>Computer</genre>
<title>XML Developer's Guide</title>
</book>
Run Code Online (Sandbox Code Playgroud)
如何控制格式?这是生成XML的代码
<book id="0">
{ keys map (_.toXML) }
</book>
Run Code Online (Sandbox Code Playgroud)
这是toXML:
def toXML:Node = XML.loadString(String.format("<%s>%s</%s>", tag, value.toString, tag))
Run Code Online (Sandbox Code Playgroud)
gzm*_*zm0 17
val xml = // your XML
// max width: 80 chars
// indent: 2 spaces
val printer = new scala.xml.PrettyPrinter(80, 2)
printer.format(xml)
Run Code Online (Sandbox Code Playgroud)
顺便说一下,您可能需要考虑更换以下内容toXML:
def toXML: Node = Elem(null, tag, Null, TopScope, Text(value.toString))
Run Code Online (Sandbox Code Playgroud)
这可能更快,并消除所有类型的转义问题.(如果value.toString评价</a>为什么?)
| 归档时间: |
|
| 查看次数: |
4840 次 |
| 最近记录: |