我正在使用 c#.net 中的 XslCompiledTransform 创建一个基于 xml 和 xsl 的 html 文件。这非常有效。
但 xsl 也包含一个 css 文件,我想知道是否有任何方法可以将此 css 样式包含在输出 html 文件中,以便它可以显示为一个独立文件(所以我不必须将 css 文件复制到我想查看该文件的任何位置)。
不幸的是,显式定义每个标签的样式也不是一个选项,如果没有 css,该文件当然真的很难看。
任何帮助将不胜感激! :)
最佳答案
在您的输出 html 中,在 <head>
中添加样式表链接标签。
<link rel="stylesheet" type="text/css" href="mystyle.aspx" />
然后在您的元素中添加一个名为 mystyle.aspx
的页面.在此文件的 Page_Load 中,您进行 xslt 转换以仅输出 css 部分。 (并删除 html 页面转换的 css 部分)。
protected void Page_Load(object sender, EventArgs e) {
Response.Clear();
Response.ContentType = "text/css";
string css = // Do your xslt transformation here
Response.Write( css );
Response.End();
}
如果所有页面的 CSS 都相同,您可能需要在上面的代码中添加一些缓存,以节省每次都进行转换的时间。
您可能必须使用一些参数来指向您的 xml/xslt,但您没有在这方面的问题中提供任何信息。
关于c# - 如何在 XMLtransformation 中包含 css 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186046/