ASP CORE中的XslCompiledTransform

时间:2017-02-28 00:12:09

标签: c# asp.net-web-api asp.net-core

我在asp核心中尝试实现 XslCompiledTransform ,在阅读了很多论坛和文档之后,认为现在不支持 XslCompiledTransform ,有人能够在asp核心中实现 XslCompiledTransform ?或者你知道另一个(也许是nuget)包可以做同样的事情吗?

此致

2 个答案:

答案 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