需要引用下面的命名空间:

  1. using System.Xml;
  2. using System.Xml.Xsl;

方法实现:

  1. public static string ConvertXML(XmlDocument InputXMLDocument, string XSLTFilePath
  2. , XsltArgumentList XSLTArgs)
  3. {
  4. System.IO.StringWriter sw = new System.IO.StringWriter();
  5. XslCompiledTransform xslTrans = new XslCompiledTransform();
  6. xslTrans.Load(XSLTFilePath);
  7. xslTrans.Transform(InputXMLDocument.CreateNavigator(), XSLTArgs, sw);
  8. return sw.ToString();
  9. }

示例xml文件如下:

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <sexystars>
  3. <category name="Bollywood">
  4. <sexystar name="Antra mali" />
  5. <sexystar name="Deepika Padukone" />
  6. <sexystar name="Mandira Bedi" />
  7. </category>
  8. <category name="Hollywood">
  9. <sexystar name="Jennifer Lopez" />
  10. <sexystar name="Jessica Alba" />
  11. </category>
  12. </sexystars>

示例xslt文件如下:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output omit-xml-declaration="yes"/>
  4. <xsl:template match="sexystars">
  5. <div>
  6. <xsl:apply-templates select="category" />
  7. </div>
  8. </xsl:template>
  9. <xsl:template match="category">
  10. <h2>
  11. <xsl:value-of select="@name"/>
  12. </h2>
  13. <ul>
  14. <xsl:apply-templates select="sexystar" />
  15. </ul>
  16. </xsl:template>
  17. <xsl:template match="sexystar">
  18. <li>
  19. <xsl:value-of select="@name"/>
  20. </li>
  21. </xsl:template>
  22. </xsl:stylesheet>

调用的c#代码:

  1. XmlDocument xDoc=new XmlDocument();
  2. xDoc.Load(@"C:\sample.xml");
  3. string returnhtml = ConvertXML(xDoc, @"C:\sample.xslt", new XsltArgumentList());

将输入如下html:

  1. <div>
  2. <h2>Bollywood</h2>
  3. <ul>
  4. <li>Antra mali</li>
  5. <li>Deepika Padukone</li>
  6. <li>Mandira Bedi</li>
  7. </ul>
  8. <h2>Hollywood</h2>
  9. <ul>
  10. <li>Jennifer Lopez</li>
  11. <li>Jessica Alba</li>
  12. </ul>
  13. </div>
 

c#使用XSLT将xml文档转换为html文档的更多相关文章

  1. JaveScript 中使用 XSLT转换XML文档

    我们经常将数据存储在XML 中,在展示的时候需要转换为其它的形式,这里介绍使用XSLT 对XML数据进行转换. 要学习XSLT对XML的转换,需要先了解三个文件. 第一个是存储数据的XML文件:emp ...

  2. C#操作Xml:XSLT语法 在.net中使用XSLT转换xml文档示例

    XSL即可扩展的样式表文件. 可以格式化xml的显示,也可以将xml转换成需要的另一种格式. 学习XSL必须熟悉XPath.XSL和XPath一样简单强大,容易学习. 1. XSL既然可以格式化xml ...

  3. 把office文档转换为html过程中的一些坑

    之前和我们项目的团队一起酝酿了一个项目,公司的业务文档技术文档比较多,但都比较分散,虽然通过FTP或其他方式聚合起来了,但感觉还是不够方便. 另外公司每次都来新员工,新员工都需要一些培训,比较耗时,比 ...

  4. C#实现office文档转换为PDF或xps的一些方法( 转)

    源博客http://blog.csdn.net/kable999/article/details/4786654 代码支持任意office格式 需要安装office 2007 还有一个office20 ...

  5. OFFICE 文档转换为html在线预览

    OFFICE 文档在线预览方案很多: 服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览,比如flexpaper Office文档直接转换为SWF,通过网页加载Flash预览 微软的 ...

  6. pdf如何转换为word文档

    我们经常会遇到需要将PDF转换为WORD文档,对于我来讲,有些PDF没有目录,看起来非常不方便,于是就特别想转成WORD,然后增加目录,想看某一节内容时,快速查找. 这里我总结了一些方法,后续也会不断 ...

  7. XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容

    一.新建Demo2类: import java.io.File; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXPar ...

  8. CEBX格式的文档如何转换为PDF格式文档、DOCX文档?

    方正阿帕比CEBX格式的文档如何转换为PDF格式文档.DOCX文档? 简介: PDF.Doc.Docx格式的文档使用的非常普遍,金山WPS可以直接打开PDF和Doc.Docx文档,使用也很方便. CE ...

  9. C#实现office文档转换为PDF格式

    1.安装组件OfficeSaveAsPDFandXPS 需要安装office 2007 还有一个office2007的插件OfficeSaveAsPDFandXPS 下载地址   OfficeSave ...

随机推荐

  1. 知乎 zhihu

    知乎上关于美食的精彩问答有哪些? http://www.zhihu.com/question/22744751/answer/22473212 知乎上关于乐队的精彩问答有哪些? http://www. ...

  2. QT5新手上路(2)发布exe文件

    QT编程教程在网上有很多,但写完代码以后如何打包成可执行exe文件却少有提及,本文主要介绍这一部分:1.首先确认自己建的工程在debug模式下运行无误.2.在release模式下运行一遍.(如何更改成 ...

  3. 374. Guess Number Higher or Lower

    We are playing the Guess Game. The game is as follows: 我们来玩一个游戏,规则如下: I pick a number from 1 to n. Y ...

  4. 《APUE》第四章笔记(1)

    1.引言 本章介绍文件系统的特征和文件的性质.从stat函数开始,逐个说明stat结构的每一个成员以了解文件的所有属性.在此过程中,还将会说明修改这些属性的各个函数,并更详细地查看UNIX文件系统的结 ...

  5. linux 定时执行 cron指令

    linux 中的 cron 定时执行命令,先上例子:每间隙两分钟把 "Hello world"写到 /tmp/hello.txt crontab -e */2 * * * * ec ...

  6. linux 客户端与linux服务器端连接与文件上传下载

    linux客户端连接linux服务器 用ssh 可以用 man ssh 查看用法 基本格式: ssh 用户名@主机名 如: ssh root@1.1.1.1 linux客户端上传文件到 linux 服 ...

  7. sae-php调试代码,不输出页面

    如果单单使用sae_debug,页面就会输出SAE_DEBUG的信息,所以造成很多问题,例如回复微信服务器的xml,但是不知道就想着调试,结果... 所以怎么解决让调试信息不输出页面呢 看完手册,才知 ...

  8. DBMS_SCHEDULER and DBMS_JOB

    引用原文:http://foolraty.iteye.com/blog/1107803 For DBMS_JOB usage:To find out more information about th ...

  9. C#表驱动法+一点反射实现“得到指定位数随机不重复字符串”三种方式的封装

    1.结构 第一个类 public class GetMethods{...}      类中的变量:                                                   ...

  10. 【BZOJ】1925: [Sdoi2010]地精部落 DP+滚动数组

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1925 题意:输入一个数N(1 <= N <= 4200),问将这些数排列成折线 ...