如何在XML转换中包含css文件?

时间:2010-07-06 12:12:40

标签: c# css xml transform xslcompiledtransform

我正在使用c#.net中的XslCompiledTransform创建一个基于xml和xsl的html文件。这非常有效。

但是xsl也包含了一个css文件,我想知道是否有任何方法可以将这个css样式包含在输出html文件中,因此它可以显示为独立文件(所以我不会必须将css文件复制到我想要查看文件的任何地方。)

不幸的是,显式地定义每个标签的样式不是一个选项,如果没有css,文件当然真的很难看。

非常感谢任何帮助! :)

1 个答案:

答案 0 :(得分:1)

在输出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,但在这方面您没有在问题中提供任何信息。