我正在尝试构建一个将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);

最佳答案

您可以按以下说明将XSLT作为嵌入式资源包含在程序集中:



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

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
    }
}

关于c# - 将XSLT文件包含到可执行文件中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3716248/

10-11 22:44
查看更多