我正在研究在 Scala 和 XML 之间编组/解组数据的各种方法,并且我有兴趣获得社区反馈(最好以第一手知识/经验为基础)。
我们目前正在使用 JAXB,这很好,但我希望有一个纯 Scala 解决方案。我正在考虑以下方法:
使用 Scala 的内置 XML 工具:Scala->XML 会很容易,但我猜另一个方向会相当痛苦。另一方面,这种方法支持任意翻译逻辑。
数据绑定:scalaxb 目前似乎有些不成熟,不能处理我们当前的模式,而且我不知道任何其他的 Scala 数据绑定库。与 JAXB 一样,需要一个额外的转换层来支持所涉及的转换。
XML pickler 组合器:GData Scala 客户端库提供 XML pickler 组合器,但最近的项目活动很少,我不知道当前状态如何。
问题:
- 您对我列出的方法/库有什么经验?
- 各自的相对优势和劣势是什么?
- 我应该考虑其他方法或 Scala 库吗?
编辑:
在我自己对这个问题的回答中,我添加了一些关于我对pickler 组合器的早期印象的注释,但我仍然对真正深入了解各种方法的人的反馈非常感兴趣。我希望的是一个比较全面的比较,可以帮助开发人员根据他们的需要选择正确的方法。