最近做了个发邮件的接口,需要能够方便的修改邮件格式,所以就用了xslt文件作为一个模板,下面就是将xml转换为xslt,然后在xslt文件里面绑定数据,如下:
XslCompiledTransform RssXslt = null; MemoryStream memoryStream = null;
try { RssXslt = new XslCompiledTransform();
//检查xlst文件是否有效存在 if (File.Exists(vXsltPath)) { //加载xlst文件内容 RssXslt.Load(vXsltPath);
memoryStream = new MemoryStream(); //将邮件的xml数据按xslt的要求进行转换,并存储在内存数据流中 RssXslt.Transform(vXMLDoc,null,memoryStream);
//获取转换后的XML数据字符串内容 vBodyText = System.Text.UTF8Encoding.UTF8.GetString(memoryStream.ToArray());
//删除转换后XML数据字符串中的前后标志位 vBodyText = vBodyText.Substring(1,(vBodyText.Length - 1)); } }
--------------------------------------------------------------------------------------------------------------------------------------------
<p> 共有<xsl:value-of select="/EmailInfoRoot/emMailInfo/EmailInfo/AttachmentCount"/>个附件,附档总页数 <xsl:variable name="pageCountSum" select="/EmailInfoRoot/EmailAttachments/EmailAttachment"/> <xsl:value-of select="sum($pageCountSum/AttachmentPageCount) "/> </p> <p>附件名称:<table> <tr> <xsl:for-each select="/EmailInfoRoot/EmailAttachments/EmailAttachment"> <td> <xsl:value-of select="EmailAttachmentName"/> </td> </xsl:for-each> </tr> </table>
??
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|