【问题标题】:How to do XSLT 2.0 transformation with C# [duplicate]如何使用 C# 进行 XSLT 2.0 转换 [重复]
【发布时间】:2011-03-18 07:53:55
【问题描述】:

是否可以将 XSLT 2.0 转换与原生 .net 框架一起使用?

我知道 XSLT 1.0 可以做到这一点。

【问题讨论】:

标签: c# .net xml xslt xslt-2.0


【解决方案1】:

微软没有提供 XSLT 2.0 处理器

声称专门编写用于 .NET 的 XSLT 2.0 处理器是 XQSharp

另一个非常流行的 XSLT 2.0 处理器是 Saxon 9.x,虽然它是用 Java 编写的,但有一个特殊的 .NET 版本。

【讨论】:

  • 两者都很慢,所以最好坚持 1.0 atm :(
  • @Jaster:我对 XQSharp 没有太多经验,但是 Saxon 已经优化得如此之好,以至于我强烈不同意这样的说法。此外,人们使用 XSLT 2.0 是因为它拥有丰富的新功能,而且在 99% 的情况下,几毫秒的时间都不匹配。
  • 别怪我,用 xslt 1.0 做一些性能测试。 Base .NET vs Saxon od XQSharp。这不是“几毫秒”。 @Alejandro 所以将它们用于 xslt 是磨损的吗?那些工具是用来煮咖啡的?
  • @BenjaminBaumann,我确信用汇编程序编写的相同内容需要 20-30 毫秒。但是 XSLT 2.0 已经很老了。目前人们都在使用 XSLT 3.0 / XPath 3.0。也许在写完这个回复的三年里,Saxon 实现了进一步的优化(在其最新的 Saxon9.5.x 处理器中可以找到)。
  • 我完全同意 Dimitre。我只是给出“现实生活”的时间,以防它可以帮助人们。顺便说一句,工作台是使用 Saxon 9.5 完成的,从我们的角度来看,性能结果很好。
【解决方案2】:

我不同意 XQSharp(或就此而言,Saxon)很慢。虽然目前都没有编译为 MSIL,但两者都有很好的优化器。我从第一手经验中知道,使用 XQSharp 可以比使用 XslCompiledTransform 更快地完成大型分组任务。

【讨论】:

    猜你喜欢
    • 2013-12-06
    • 2012-01-22
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多