我对标准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),这种操作是否可行并且直截了当?
答案 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>