我需要 XSLT 2.0 处理器工具才能在 .net 4.0 中使用。 我发现 .net 不支持 XSLT 2.0。替代方案是第三方引擎,例如 Saxon 9.x 或 XQSharp。我需要 XSLT 2.0 支持商业生产环境,其中性能非常重要。问题:
- Saxon 9.x 或 XQSharp,我必须选择哪一个?
- 这两种产品的优缺点是什么?
- 还有其他选择吗?
- AltovaXML 与 Saxon 9.x 或 XQSharp 相比怎么样?
最佳答案
在过去的几周里,我使用 XQSharp、Saxon 9.x 和 AltovaXml 使用 Microsoft XSLT1 引擎重写了我的程序。这是我的经验:
AltovaXml
- 它是免费的(但免费版本有限制并且不附带源代码)。
- 网站不错,可以找到您需要的内容
- API 简单且易于设置
- 拥有适用于多种不同语言的 API
- 它使用 COM,换句话说,需要 native 代码互操作
- 这是我使用过的最慢的引擎
XQSharp
- .NET 友好
- 抛出良好的异常并提供良好的描述
- 比 AltovaXml 更快
- 它不是免费的,也没有提供来源
撒克逊 9.x
- 网站不友好,很难找到您搜索的内容
- 由 Michael Kay(XSLT 2.0 语言 W3C 规范的编辑者)创建
- 我使用过的最快的 XSLT2 引擎
- 有一个有限的开源版本,非免费版本附带架构感知和流媒体
- 基于 Java,但附带了到 .NET 的打包 IKVM 端口
对于我的特定 XML 和 XSLT (XSLT1) 翻译性能比较:
- 0,02 秒 Microsoft XSLT1 引擎
- 0,45 秒撒克逊 9.x
- 0.60 秒 XQSharp(使用 OptimizationLevel.None)
- 0.90 秒 XQSharp(默认设置)
- 1,20 秒 AltovaXml
关于.net - Saxon 9.x vs XQSharp vs AltovaXML for .net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6465729/