首页 > 解决方案 > 是否有适用于 .NET Core 3.0 应用程序的 XSLT 和 XQuery 处理器?

问题描述

我一直在使用Saxon XSLT 和 XQuery 处理器——我的一些.NET应用程序的免费家庭版。我只需要XSLT 2.0(因为 .NET 不支持 XSLT 3.0)。现在我已经从 移动.NET Framework.NET Core,我注意到自从为 Saxon安装软件包以来,Saxon还没有支持,我收到以下错误。.NET CoreNuget

问题:是否有人知道我可以将其他替代方案用于.NET Core需要 XSLT 2.0 和 XQuery 处理的项目?

由于以下错误,我的代码无法编译,因为它无法识别XdmNode,XsltTransformer等。

使用 '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, . 恢复包 'Saxon-HE 9.9.1.5' NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' 而不是项目目标框架 '.NETCoreApp,Version=v3.0'。此软件包可能与您的项目不完全兼容。

标签: .net-corexslt-2.0saxon

解决方案


XmlPrime https://www.xmlprime.com/xmlprime/是 XQuery 3.1 和 XSLT 2.0 的纯 .NET 实现,它是为 .NET 框架开发的,最新版本 4 也可以与 Mono 一起使用。

我已经安装了 4.1 的当前试用版并使用 VS 2019 编写了一个 .NET Core 3 控制台应用程序,其中我添加了 XmlPrime 安装目录的两个程序集 XmlPrime.dll 和 XmlPrime.ExtensionMethods.dll 作为对 .NET 核心的引用项目。

改编自https://github.com/XmlPrime/Examples/tree/master/Queryhttps://github.com/XmlPrime/Examples/tree/master/Transform的两个简单示例然后运行良好以执行 XQuery 3 和 XSLT 2在 .NET Core 3 应用程序中。

所以从技术上讲,XmlPrime,至少经过一些表面测试,似乎是 .NET Core 3 的一个选项,但我不知道他们项目的状态,但据我所知,他们只是偶尔更新他们的试用版并且已经停止销售在线商业许可证。您可能需要查询https://www.xmlprime.com/xmlprime/contact.htm的联系方式,询问他们是否以其他方式出售完整许可证。


推荐阅读