Scala: удаление пробелов XML?
Кто-нибудь знает хорошую библиотеку scala для удаления/сжатия пробелов из XML?
<foo>
<bar>hello world</bar>
<baz> xxx </baz>
</foo>
в
<foo><bar>hello world</bar><baz>xxx</baz></foo>
Ответы
Ответ 1
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>
Ответ 2
Что бы это ни стоило, это то, что я сейчас начал в стратегии "сворачивать свою собственную":
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
}