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 的 XML 库(即 >= 2.10)提出了建议,在这些库中这种操作是可能的且直接的?

4

1 回答 1

2

可以在此处找到最新的 anti-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 回答