• C#中如何将XML+XSL文档转换为HTML格式


       最近一直在写一个小工具,可以将自己存储在xml文件中的内容通过outlook邮件发送出来,在做的过程中发现在发送邮件的时候,body的内容不能通过读取xml数据的方式直接发送出来,但是可以通过html的格式发送出来(设置message.IsBodyHtml= true), 所以就想找个办法将xml文件转换成html文件。

       在网上调查的过程中看到了很多人讲了如何将html文件转化为xml文件,在查到xml转化为html的时候多数提到了XslCompiledTransform类,于是我就用了XslCompiledTransform类,代码如下:

    using System.Xml;
    using System.Xml.Xsl; //使用XslCompiledTransform 类必须添加的命名空间
    using System.Xml.XPath;

    namespace Magci.Test.XML.TestXsl
    {
      class Program
      {
        static void Main(string[] args)
        { 
                  XslCompiledTransform  xslt = new XslCompiledTransform ();
          xslt.Load(xslFile); //Load方法加载样式表,xslFile代表要加载的xslt样式表,如books.xsl
                   XPathDocument xDoc = new XPathDocument(xmlPath);  //使用指定文件中的XML数据进行初始化,如books.xml
                   XmlTextWriter xtWriter = new XmlTextWriter(htmlFile, null); //使用指定文件中创建XmlTextWriter类的实例,htmlFile就是要写入的文件。如果该文件存在,就截断该文件并用新内容对其进行改写,如books.html ,第二个参数是生成的编码方式。如果为空,则用UTF-8形式写出该文件。
          xslt.Transform(xDoc, xtWriter ); //Transform方法是实现格式转换,使用指定的输入文档执行转换,然后结果输出到XmlTextWriter

          xtWriter .Close(); //Write the XML to file and close the writer

                }

        }

       }

  • 相关阅读:
    Ubuntu 16 安装ElasticSearch
    二叉树
    归并排序
    快速排序
    Git、Github使用
    445. 两数相加 II
    141. 环形链表
    92. 反转链表 II
    19. 删除链表的倒数第N个节点
    2. 两数相加
  • 原文地址:https://www.cnblogs.com/halia/p/2159858.html
Copyright © 2020-2023  润新知