c#使用XSLT将xml文档转换为html文档

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

using System.Xml;
using System.Xml.Xsl;

方法实现:

public static string ConvertXML(XmlDocument InputXMLDocument, string XSLTFilePath
, XsltArgumentList XSLTArgs)
{
   System.IO.StringWriter sw = new System.IO.StringWriter();
   XslCompiledTransform xslTrans = new XslCompiledTransform();
   xslTrans.Load(XSLTFilePath);
   xslTrans.Transform(InputXMLDocument.CreateNavigator(), XSLTArgs, sw);
   return sw.ToString();
}

示例xml文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<sexystars>
  <category name="Bollywood">
    <sexystar name="Antra mali" />
    <sexystar name="Deepika Padukone" />
    <sexystar name="Mandira Bedi" />
  </category>
  <category name="Hollywood">
    <sexystar name="Jennifer Lopez" />
    <sexystar name="Jessica Alba" />
  </category>
</sexystars>

示例xslt文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
  <xsl:template match="sexystars">
    <div>
      <xsl:apply-templates select="category" />
    </div>
  </xsl:template>
  <xsl:template match="category">
    <h2>
      <xsl:value-of select="@name"/>
    </h2>
    <ul>
      <xsl:apply-templates select="sexystar" />
    </ul>
  </xsl:template>
  <xsl:template match="sexystar">
    <li>
      <xsl:value-of select="@name"/>
    </li>
  </xsl:template>
</xsl:stylesheet>

调用的c#代码:

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

将输入如下html:

<div>
<h2>Bollywood</h2>
  <ul>
    <li>Antra mali</li>
    <li>Deepika Padukone</li>
    <li>Mandira Bedi</li>
  </ul>
<h2>Hollywood</h2>
  <ul>
    <li>Jennifer Lopez</li>
    <li>Jessica Alba</li>
  </ul>
</div>
时间: 2024-08-05 07:08:10

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

.Net中用XSLT转换XML文档

在开发中我们经常用到xml文件作为数据的载体.当我们获取到一个XML文件后常常要将其数据提取出来或者将其转换为另一种格式,此时我们需要用到XSLT. XSLT的全称是Extensible Stylesheet Language Transformations(可扩展样式表转换语言),其最常用的功能就是将XML从一种格式转换为另一种格式.本文中我们将把一个承载Famous People信息的xml文件转换成html文件.在.NET中可以使用XslCompiledTransform类加载XSLT文档

JaveScript 中使用 XSLT转换XML文档

我们经常将数据存储在XML 中,在展示的时候需要转换为其它的形式,这里介绍使用XSLT 对XML数据进行转换. 要学习XSLT对XML的转换,需要先了解三个文件. 第一个是存储数据的XML文件:employees.xml <?xml version="1.0"?> <employees> <employee title="Software Engineer"> <name>Nicholas C. Zakas</n

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

XSL即可扩展的样式表文件. 可以格式化xml的显示,也可以将xml转换成需要的另一种格式. 学习XSL必须熟悉XPath.XSL和XPath一样简单强大,容易学习. 1. XSL既然可以格式化xml的显示样式,我们先来看如何在xml中引用xsl文件 如下代码示例: <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="

将html转换为word文档的几种方式

1 基于wps直接将页面信息下载成word文档 1 public void test() 2 { 3 4 WPS.Application wps = null; 5 try 6 { 7 wps = new WPS.Application(); 8 } 9 catch (Exception ex) 10 { 11 return; 12 } 13 var httpurl = "http://www.baidu.com"; 14 WPS.Document doc = wps.Document

C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)

这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项目的里程碑的时候, 日本的总公司要检查我们的成果物. 成果物包括源代码, 概要设计式样书(SD,System Design), 详细设计式样书(PD, Program Design), 自动化测试等等. 源代码必须要符合编码规范(每个函数都要有注释, 方法变量的命名规则等...) 这些检查都很正常,

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

之前和我们项目的团队一起酝酿了一个项目,公司的业务文档技术文档比较多,但都比较分散,虽然通过FTP或其他方式聚合起来了,但感觉还是不够方便. 另外公司每次都来新员工,新员工都需要一些培训,比较耗时,比较好的方法是把以前的配置录制视频然后线下先给新员工自己看,但时间久了,资料或视频总是找不到或不是最新等等. 于是我们团队想了一个项目,把已有的资料和视频从线下放到线上,就是能通过一个网站在线看office资料和视频.并且还能对资料评价和点赞等,根据点赞或想学等数据再决定是否对新员工或老员工来一次组织

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

方正阿帕比CEBX格式的文档如何转换为PDF格式文档.DOCX文档? 简介: PDF.Doc.Docx格式的文档使用的非常普遍,金山WPS可以直接打开PDF和Doc.Docx文档,使用也很方便. CEB.CEBX格式是方正阿帕比的文件格式,使用Apabi Reader阅读器能够打开它们,但只能保存为txt文本格式,不能直接保存为PDF格式.如果直接将CEB.CEBX的文档交给其他用户,而对方的电脑没有安装Apabi Reader阅读器,那么他将无法打开该类型的文档. 那么怎么将CEB.CEBX格

手机拍照达人:如何将照片转换为PDF文档

大家可能经常遇到这样一种情况--要将一份纸质文件内容保存,或者转发给不在场的同事浏览.我们通常都会通过拍照的方式. 但是拍照的照片不仅不便于浏览,还无法像文档一样有条不紊地按页码的顺序来编订成册.这时,我们就需要将照片转换为PDF文档了.PDF文件以Post语言图象模型为基础,会忠实地再现原稿的每一个字符.颜色以及图象,所以PDF来保存传阅照片是最佳的选择. 这里我们来介绍一款能批量将图片转换为PDF文档的神奇工具--福昕PDF编辑器个人版. 以下是详细教程: 启动PDF编辑器电脑版后,点击顶部

通过XSLT转换XML

Hellow,every body.又与大家见面了,哈哈.今天我与大家分享一下XSLT,XSL,XML,XPath.因为项目中有些功能用到了XSLT.XML等技术.所以今天好好研究了一下这几个方面的技术,宋桑说过嘛,要学会总结归纳.所以,要把自己学到东西写出来.一来温习一遍,二来与大家交流学习一下. 在研究这些技术的Demo中,发现有用唱片名字来做例子的.所以,无意中发现了一张唱片,发现了一个歌手.感觉不错,与大家分享一下.Bob Dylan----<Empire Burlesque>,很带感