¿Alguien sabe de una buena biblioteca scala para eliminar/compactar espacios en blanco de XML?Scala: eliminación de espacio en blanco XML?
<foo> <bar>hello world</bar> <baz> xxx </baz> </foo>
a:
<foo><bar>hello world</bar><baz>xxx</baz></foo>
¿Alguien sabe de una buena biblioteca scala para eliminar/compactar espacios en blanco de XML?Scala: eliminación de espacio en blanco XML?
<foo> <bar>hello world</bar> <baz> xxx </baz> </foo>
a:
<foo><bar>hello world</bar><baz>xxx</baz></foo>
scala.xml .Utility.trim() debe hacer lo que quiera:
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>
Por si sirve de algo, esto es lo que tengo pasando ahora en el "rodar mi propia" estrategia:
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 }
Esto parece una buena solución. ¿Por qué necesitas una biblioteca para hacer lo que estás haciendo en 7 líneas? –
Principalmente porque aún no me he convencido de que mi código es 100% correcto todavía. – harryh
Porque la biblioteca tiene 1 línea y está en la biblioteca estándar. –
Lo siento ... borré mi respuesta. Ahora puedo ver que fue completamente incorrecto. Realmente no debería hacer programación mientras leo sobre operadores cuánticos. –