使用XSLT& amp;将图像(Byte [])插入到word doc中。 C#

时间:2013-03-27 16:29:57

标签: c# xslt bytearray xslcompiledtransform

我有一个看起来像这样的xml文档。

<?xml version="1.0" encoding="UTF-8"?>
    <Job>
       <ID>1</ID>
       <Name>Front Window<Name>
       <Image>/9j/4AAQSkZJRgABAQ..(etc)</windowImage>
    </job>
    <Job>
       <ID>2</ID>
       <Name>BackWindow<Name>
       <Image>/9j/4BAQSkZJRgABAQ..(etc)</windowImage>
    </job>
</xml>

也是循环每个作业的XSLT文件。我的问题是如何插入保存为byte []的图像?它们仅保存在数据库中,并且不会为它们创建任何文件,因为它们是在应用程序中生成的。我的C#代码看起来像这样。

Job jobClass = new ReportSQL().createXMLclass(_jobID);
new ReportSQL().createXMLFile(jobClass);
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(@"Code\quoteTemplate.xslt");
xslt.Transform("xmlfile.xml", "doc.doc");

1 个答案:

答案 0 :(得分:0)

我认为您要生成的XML会将图像保存为文本。这可以通过将bytearray编码为Base64来实现:

String s = Convert.ToBase64String(byte[])

byte[] b = Convert.FromBase64String(String)