用于2.10+的Scala XML库

时间:2015-02-07 01:55:22

标签: xml scala anti-xml

我对标准Scala XML库的非直观性(除了定义内联XML和基本路径树遍历)以及缺少任何明显的替换感到惊讶。看起来有一点反xml正在获得牵引力,但似乎开发有been stale for some time

具体来说,我希望通过添加和删除子树来操纵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库建议(即&gt; = 2.10),这种操作是否可行并且直截了当?

1 个答案:

答案 0 :(得分:2)

可以找到更新的反xml分支here。版本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>