【问题标题】:Can I include *.xslt in ASP.NET class library for internal use?我可以在 ASP.NET 类库中包含 *.xslt 以供内部使用吗?
【发布时间】:2010-09-02 16:01:02
【问题描述】:

我想在几个网站中使用相同的 xsl 模板。我可以将它添加到类库中吗?如果是,我该如何加载它?路径等示例...

【问题讨论】:

  • 我已经编辑了你的标签,因为这不是一般的 XSLT 问题,而是 asp.net 库问题。

标签: asp.net xslt


【解决方案1】:

是的,你可以,看看这篇文章: http://www.tkachenko.com/blog/archives/000653.html

我写了一个 embedded resource resolver 来解析这样的 URL:

clires://assembly-name/path-to-embedded-file/embedded-file.xsl

【讨论】:

  • 看起来不错。但是我收到了像“XmlResolver returned null...”这样的异常((路径似乎是正确的...
  • 调用 XslCompiledTrasform.Load 时是否传递了解析器?
  • 是的。而xsl-file build-action 属性是embedded-resource。 XmlEmbeddedResourceResolver 解析器 = new XmlEmbeddedResourceResolver(); xslt.Load("clires://RzhdOnline/xsl/eticket_mail.xsl", XsltSettings.TrustedXslt, 解析器);
  • @pukipuki:我不确定 XslCompiledTrasform 是否将解析器用于主要样式表,我认为仅用于导入。我建议您在解析器的 GetEntity 方法中调试并打断点,或者您可以调用 Assembly.GetManifestResourceStream("RzhdOnline.xsl.ticket_mail.xsl")
  • 问题在于区分大小写... lib 的名称已在 GetEntity 方法中转换为小写)
猜你喜欢
  • 2011-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-15
  • 2016-05-23
  • 1970-01-01
相关资源
最近更新 更多