3

標準の Scala XML ライブラリが (インライン XML と基本的なパス ツリー トラバーサルの定義を超えて) 直感的ではないことと、明らかな代替手段がないことに驚いています。ある時点でアンチ XML が勢いを増しているように見えますが、開発はしばらく停滞しているようです。

具体的には、次の行に沿って、サブツリーを追加および削除して XML ツリーを操作しようとしています。

val tree1 = <root><foo>foo</foo></root>
val tree2 = <root><bar>bar</bar></root>
tree1 + tree2 == <root><foo>foo</foo><bar>bar</bar></root>

既存の Scala XML ライブラリをポンピングすることは確かにオプションですが、この機能を提供する既存のライブラリがある場合は、それらに面倒な作業を任せたいと思います。

この種の操作が可能で簡単な 2015 年の Scala (つまり >= 2.10) に適した XML ライブラリに関する推奨事項はありますか?

4

1 に答える 1

2

ここで見つけることができるアンチ xml の最新のフォークがあります。バージョン0.5.2は Scala 2.11 で動作します。

anti-xml を使用すると、ユース ケースを次のように実装できます。

import com.codecommit.antixml._

val tree1 = <root><foo>foo</foo></root>.convert
val tree2 = <root><bar>bar</bar></root>.convert

tree1.addChildren(tree2.children)
// <root><foo>foo</foo><bar>bar</bar></root>
于 2015-02-08T03:11:24.907 に答える