2010-09-15 5 views
5

Çok sayıda XML dosyasına XSLT dönüşümü uygulayan bir yürütülebilir dosya oluşturmaya çalışıyorum. Şimdi benim sorunum, C# VS 2010 çözümümde saklanan XSLT dosyasına dahil etmek/referans vermek istiyorum, böylece bunu başka bir makine için yeniden paketlediğimde, XSLT dosyaları arasında kopyalamak zorunda kalmam. Mümkün mü?Yürütülebilir dosyaya bir XSLT dosyası da dahil

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); 

cevap

12

burada açıklandığı gibi derleme içine Kaynak Gömülü bir olarak XSLT içerebilir:

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

kez gömülü, aşağıdaki gibi dönüşümü kullanabilirsiniz :

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 
    } 
} 
Kesin cevap için
+0

+1. –

+0

Teşekkürler, bu çok yardımcı oldu. Cevabın orada olmadığını düşünmekteydim. – wonea