任何人都知道一个好的scala库可以从XML中执行空白删除/压缩?Scala:删除XML空白?
<foo> <bar>hello world</bar> <baz> xxx </baz> </foo>
到:
<foo><bar>hello world</bar><baz>xxx</baz></foo>
任何人都知道一个好的scala库可以从XML中执行空白删除/压缩?Scala:删除XML空白?
<foo> <bar>hello world</bar> <baz> xxx </baz> </foo>
到:
<foo><bar>hello world</bar><baz>xxx</baz></foo>
scala.xml .Utility.trim()应该做你想做的:
scala> val x = <foo>
| <bar>hello world</bar>
| <baz> xxx </baz>
| </foo>
x: scala.xml.Elem =
<foo>
<bar>hello world</bar>
<baz> xxx </baz>
</foo>
scala> scala.xml.Utility.trim(x)
res0: scala.xml.Node = <foo><bar>hello world</bar><baz>xxx</baz></foo>
不管它的价值,这是我必须得去上,在 “推出自己的” 战略:
def compactXml(xml: Node): Node = { (xml map { case Elem(prefix, label, attributes, scope, children @ _*) => { Elem(prefix, label, attributes, scope, children.map(compactXml(_)) :_*) } case Text(data) => Text(data.trim) case x => x }).first }
这看起来很不错。为什么你需要一个图书馆来做你在做的事情? – 2009-11-09 22:10:44
主要是因为我还没有确信我的代码是100%正确的。 – harryh 2009-11-09 22:15:18
因为库是1行,它在标准库中。 – 2012-05-16 15:47:09
对不起...删除了我的答案。现在我可以看到它完全错了。在阅读量子操作员时,我不应该编程。 – 2009-11-09 22:20:57