【问题标题】:State of XML support in Scala 2.9.xScala 2.9.x 中的 XML 支持状态
【发布时间】:2011-11-26 00:26:25
【问题描述】:

我目前开始研究将 Scala 的 XML 支持用于业务关键流程。在这方面,我想知道 Scala 中标准 XML 库的当前状态是什么。

我已经阅读了一些与 Scala 2.7 和 2.8 主干相关的“旧”文章,其中指出 XML 处理对于 scala 2.8 来说是线程安全的,并且在 2.7.x 版本中存在一些错误。 一些批评也一直在对 XML 类层次结构给出,但我想这是一个品味问题。

如果有人可以回答这个问题,我想知道 Scala XML 库 2.9.x 版的当前状态是什么?

提前致谢。

【问题讨论】:

标签: xml scala maturity


【解决方案1】:

Scales Xml 是我对这个问题的回答。并不是我发现 Scala XML 的怪癖不好,而是这种方法本身并不适合我,并提出了一个问题“如果你将内容从树中分离出来并统一推送和拉取会怎样”。

在玩了很多之后,我发现了许多利用类型系统的很酷的方法,以使 XML 在许多活动中的使用变得更简单,比 Scala XML 更正确和更快。

您很快就会意识到,在编写替代库时,您在 Scala XML 上投入了多少思考和努力。它的杀手锏有:

  1. 提供默认库
  2. 内置 XML 语法

对于开箱即用的简单用法,它很难被击败(尽管我相信我已经做到了 ^_^)。

重要的是,Anti-XML 等其他较年轻的替代品已作为选择出现,这往往是推动创新的动力。我只是建议用户看看他们真正需要什么,而不是假设替代品会自动提供最佳选择。

【讨论】:

  • 这似乎不再为 Scala 2.11 维护 - 是否不再需要,或者这是缺乏兴趣/时间/...?
【解决方案2】:

让我这样回答:

或者说,很多人不满意。毕竟,人们正在编写完整的替代方案,而不是试图“修复”库。而且,说到修复,我有一个修复,它把操作从 O(n^2) 变成了 O(n) 提交了很长时间,以至于当有人再次打开同样的问题时,我什至不记得打开过它之前。

请注意,Lift 使用标准库 XML,据我所知,大多数其他 Web 框架也是如此(我怀疑 Play 没有),所以它并不是不可用。

【讨论】:

  • 听说scala.xml从Scala 2.11开始就被淘汰了。是这样吗?
【解决方案3】:

Scala XML 是稳定的、受支持的,并且不会在很长一段时间内消失。

尽管如此,还是提出了一些设计批评,一些人坐下来决定从头开始编写一个更好的替代方案,即 Anti-XML。

如果一切顺利,您将来会有更多选择。

【讨论】:

    【解决方案4】:

    Scala 中有一个可用于 XML 的替代库,Anti-XML。从主页:

    Anti-XML 是 scala.xml 包的建议替代品 斯卡拉标准库。标准包已过时且超出 定影。我们需要在坚实的基础上重新开始 向后兼容性。 Anti-XML 以三大质量为目标 领域:可用性、可靠性、性能

    如果您正在认真考虑使用 XML,那么值得一看 Anti-XML。

    来源在这里:https://github.com/djspiewak/anti-xml

    【讨论】:

      猜你喜欢
      • 2014-05-25
      • 1970-01-01
      • 2023-03-25
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 2011-12-22
      相关资源
      最近更新 更多