使用.Net Core 3.1运行XSLT 2.0

问题描述

我有一个.Net Core 3.1应用程序和一个XSLT 2.0脚本。现在,脚本应由应用程序执行。

首先我尝试:

//Create a new xslcompiledtransform and load the compiled transformation.
        xslcompiledtransform xslt = new xslcompiledtransform();
        xslt.Load(typeof(Transform));

        // Execute the transformation and output the results to a file.
        xslt.Transform("books.xml","discount_books.html");

但这似乎只适用于.net框架,并且仅适用于XSLT 1.0。

否,我没有找到Nuget-Package Saxon-HE-fixedrefs,根据说明,它应该与.net core兼容。但是在编译时,第一行出现错误

Saxon.Api.Processor proc = new Saxon.Api.Processor();

“ System.TypeInitializationException:“'net.sf.saxon.Configuration'的类型初始化程序引发了异常。”

FileNotFoundException:无法加载文件或程序集'System.Configuration.ConfigurationManager,版本= 4.0.3.0,区域性=中性,PublicKeyToken = cc7b13ffcd2ddd51'。 “

有什么解决方法吗?

解决方法

您将必须与软件包所有者Max Toro联系,以了解为何Saxon-HE-fixedrefs无法按所述方式工作。尽管该软件包描述声称它是未经修改的Saxonica代码,但Saxonica并未分发或支持该软件包,就我们在Saxonica而言,我们认为Saxon无法在.NET Core上运行。

我们知道需要在.NET Core上运行的Saxon版本,并且正在寻求各种途径来实现这一目标,但是我们所依赖的IKVM技术不支持Core,并且原始开发人员Jeroen Frijters不再维护它,所以我们不能做出任何承诺。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...