我正在尝试在asp内核中实现XslCompiledTransform,在许多论坛和文档中阅读了之后,认为XslCompiledTransform目前不受支持,有人能够在asp内核中实现XslCompiledTransform吗?或者你知道另一个(也许是nuget)包可以做同样的事情吗?
问候
发布于 2017-02-28 08:47:00
我认为没有人会这样做,因为XSLT被抛弃了(而且v2从未完成),取而代之的是Razor。
我们公司有一个XSLT的实现,可以生成非常动态的页面。但是开发太麻烦了,所以我们决定改用Razor。直到今天,我仍然对这个决定感到高兴。
如果您真的想要创建一个工作版本,我建议您尝试重新编译dll,并将其放入aspnet核心项目中。并尝试使其生成(删除所有错误)。
好了!一定要检查许可并联系微软,然后再考虑使用它或者发布它!
替代解
就是自己写一个编译器。
根据您在XSLT中使用的特性的范围,让编译器将XSLT转换为C#类并不困难。
您可以使用默认的xml序列化程序,并将xslt语句转换为c#语句。
这将要求您深入IViewEngine实现并构建您自己的版本以便于使用。
尽管如此,我还是不愿花时间在这个问题上。因为这是一项大量的工作,对于这样一种古老的模板语言(在我看来)是不值得的。
发布于 2018-02-09 08:29:47
是的,我们在针对XslCompiledTransform的ASP.NET Core2.0解决方案中使用了.NET。
使用ASP.NET核心1,您可以针对包含XslCompiledTransform类的完整.Net框架进行攻击。
自2017年8月以来,XslCompiledTransform还被.NET Core2.0和.NET标准2.0所支持。有关所有支持的Microsoft文档版本,请参见.NET。
https://stackoverflow.com/questions/42498115
复制相似问题