2010-09-15 109 views
5

我試圖構建一個將XSLT轉換應用於大量XML文件的可執行文件。現在我的問題是,我想包含/引用與我的C#VS 2010解決方案一起存儲的XSLT文件,以便在爲另一臺計算機重新打包此文件時,我不必複製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); 

回答

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

+1的確切答案。 – 2010-09-15 13:00:45

+0

謝謝,這幫了很大忙。有人認爲答案不在那裏。 – wonea 2010-09-15 16:47:15

相關問題