我目前正在研究使用Scala的XML支持进行业务关键流程。在这方面,我想知道Scala标准XML库的当前状态。
我读过一些与Scala 2.7和2.8的旧文章,其中指出XML处理将会在Scala 2.8中是线程安全的,并且版本2.7.x中存在几个错误。对于XML类层次结构也提出了一些批评,但我认为那是一个品味的问题。
因此,我想知道是否有人能回答这个问题:Scala 2.9.x版本的XML库目前处于什么状态?
先感谢您的帮助。
我目前正在研究使用Scala的XML支持进行业务关键流程。在这方面,我想知道Scala标准XML库的当前状态。
我读过一些与Scala 2.7和2.8的旧文章,其中指出XML处理将会在Scala 2.8中是线程安全的,并且版本2.7.x中存在几个错误。对于XML类层次结构也提出了一些批评,但我认为那是一个品味的问题。
因此,我想知道是否有人能回答这个问题:Scala 2.9.x版本的XML库目前处于什么状态?
先感谢您的帮助。
在Scala中有一个可替代XML的库,Anti-XML。从主页上可以看到:
Anti-XML是Scala标准库中scala.xml包的替代方案。该标准包已经过时且难以修复。我们需要从头开始,在坚实的基础上,并摆脱向后兼容的负担。 Anti-XML在三个主要领域中追求质量:易用性、可靠性和性能。
如果你想认真使用XML,那么值得考虑一下Anti-XML。
让我这样回答:
换句话说,许多人对此并不满意。毕竟,人们在尝试“修复”库之前会编写完整的替代方案。而且,说到修复,我曾经提交了一个将操作从 O(n^2) 优化为 O(n) 的修复方案,但等了很久也没有得到任何回应,直到有人再次打开同样的问题时,我才想起自己以前曾经打开过这个问题。
请注意,Lift 使用标准库的 XML,据我所知,大多数其他 Web 框架也是如此(我怀疑 Play 不是这样),因此它并不是无法使用。
Scala XML是稳定的,受支持的,并且在很长一段时间内都不会消失。
尽管如此,也有一些设计上的批评,因此有些人坐下来从头开始编写了一个更好的替代品,即Anti-XML。
如果一切顺利,您将在未来拥有另一个选择。