我试图在互联网上找到问题的明确答案,如果可以将单个XSLT 1.0文件用于不同的ASP.NET页面,但是没有找到它。
我不确定这应该如何运作。我们是否必须在XSLT文件中使用参数和某种部分?
这个例子非常受欢迎。
答案 0 :(得分:0)
是的,您可以使用相同的xslt为多个页面设置 Xml.TransformSource 后面的代码
来自MSDN
TransformSource属性用于指定XSL的路径 转换样式表文件(表示XSL转换 样式表)用于在写入XML文档之前对其进行格式化 输出流。您可以使用相对路径或绝对路径。一个 相对路径将文件的位置与该位置相关联 Web窗体页面或用户控件,而不指定完整路径 服务器。该路径相对于网页的位置。这个 使整个网站更容易移动到另一个目录 服务器没有更新代码中文件的路径。一条绝对的道路 提供完整路径,将站点移动到另一个目录 需要更新代码。
可以通过后面的代码定义源和转换文件:
来自MSDN
的示例void Page_Load(Object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("people.xml"));
XslTransform trans = new XslTransform();
trans.Load(Server.MapPath("peopletable.xsl"));
xml1.Document = doc;
xml1.Transform = trans;
}
修改强>
我不太清楚你的意思是什么:
我需要一些可以告诉我文件内容的内容。
但如果您在转换中需要一些参数,则可以使用TransformArgumentList
XsltArgumentList xslArg = new XsltArgumentList();
DateTime d = DateTime.Now;
xslArg.AddParam("date", "", d.ToString());
xml1.TransformArgumentList = xslArg;