Ktoś wie o dobrej bibliotece scala do usuwania/kompresji białek z XML?Scala: Usuwanie spacji XML?
<foo> <bar>hello world</bar> <baz> xxx </baz> </foo>
do:
<foo><bar>hello world</bar><baz>xxx</baz></foo>
Ktoś wie o dobrej bibliotece scala do usuwania/kompresji białek z XML?Scala: Usuwanie spacji XML?
<foo> <bar>hello world</bar> <baz> xxx </baz> </foo>
do:
<foo><bar>hello world</bar><baz>xxx</baz></foo>
scala.xml .Utility.trim() powinien zrobić, co chcesz:
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>
Na co warto, to co mam dzieje się teraz w "toczyć własną" strategię:
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 }
To wygląda na dobre rozwiązanie. Dlaczego potrzebujesz biblioteki, aby robić to, co robisz w 7 liniach? –
Głównie dlatego, że jeszcze nie przekonałem się, że mój kod jest w 100% poprawny. – harryh
Ponieważ biblioteka ma 1 linię i znajduje się w standardowej bibliotece. –
Przepraszam ... usunąłem moją odpowiedź. Teraz widzę, że było całkowicie nie tak. Nie powinienem robić programowania podczas czytania o operatorach kwantowych. –