将XSLT文件包含在可执行文件中

时间:2010-09-15 09:16:09

标签: c# visual-studio-2010 xslt

我正在尝试构建一个可执行文件,将XSLT转换应用到大量XML文件中。现在我的问题是我想要包含/引用我的C#VS 2010解决方案中存储的XSLT文件,这样当我为另一台机器重新打包时,我不必复制XSLT文件。这可能吗?

string xslFile = "C:\template.xslt";
string xmlFile = "C:\\file00324234.xml";
string htmlFile = "C:\\output.htm";

XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(xslFile);
transform.Transform(xmlFile, htmlFile);

1 个答案:

答案 0 :(得分:12)

您可以将XSLT作为嵌入式资源包含到程序集中,如下所述:

  

<强> How to embed an XSLT file in a .NET project to be included in the output .exe?

嵌入后,您可以按如下方式使用转换:

using(Stream stream = Assembly.GetExecutingAssembly()
    .GetManifestResourceStream("YourAssemblyName.filename.xslt"))
{
    using (XmlReader reader = XmlReader.Create(stream))
    {
        XslCompiledTransform transform = new XslCompiledTransform ();
        transform.Load(reader);
        // use the XslTransform object
    }
}