我在asp核心中尝试实现 XslCompiledTransform ,在阅读了很多论坛和文档之后,认为现在不支持 XslCompiledTransform ,有人能够在asp核心中实现 XslCompiledTransform ?或者你知道另一个(也许是nuget)包可以做同样的事情吗?
此致
答案 0 :(得分:0)
我认为没有人,因为XSLT被放弃了(v2从未完成)而转向Razor。
我们公司有一个XSLT实现,可以生成非常动态的页面。但是开发过于繁琐,所以我们决定转而使用Razor。直到今天,我对这个决定感到高兴。
如果您真的想要创建一个工作版本,我建议您尝试对dll进行反编译,并将其放入aspnet核心项目中。并尝试使其构建(删除所有错误)。
!请务必检查许可,并在考虑使用或发布之前与Microsoft联系!
将自己编写一个编译器。
根据您在XSLT中使用的功能范围,使编译器将XSLT转换为C#类并不会太难。
您可以使用默认的xml序列化程序并将xslt语句转换为c#语句。
这需要您深入了解IViewEngine implementation并构建自己的版本以方便使用。
虽然我不愿意花时间在这上面。因为这是一项很多工作,对于这样一种旧的模板语言来说是不值得的(在我看来)。
答案 1 :(得分:0)
是的,我们在面向.NET Core的ASP.NET Core 2.0解决方案中使用XslCompiledTransform。
使用ASP.NET Core 1,您可以针对包含XslCompiledTransform类的完整.Net Framework进行定位。
自2017年8月起,.NET Core 2.0和.NET Standard 2.0也支持XslCompiledTransform。 有关所有受支持的.NET版本,请参阅the Microsoft documentation。