C#执行XSL转换
xsl 可方便的将一种格式的xml,转换成另一种格式的xml,参考下面的代码:
- using System;
- using System.IO;
- using System.Text;
- using System.Xml;
- using System.Xml.Xsl;
- namespace XslLoad
- {
- class Program
- {
- static void Main(string[] args)
- {
- string xml = @"<?xml version='1.0' encoding='ISO-8859-1'?>
- <catalog>
- <cd>
- <title>Empire Burlesque</title>
- <artist>Bob Dylan</artist>
- <country>USA</country>
- <company>Columbia</company>
- <price>10.90</price>
- <year>1985</year>
- </cd>
- </catalog>";
- string xsl = @"<?xml version='1.0' encoding='ISO-8859-1'?>
- <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
- <xsl:template match='/'>
- <html>
- <body>
- <h2>My CD Collection</h2>
- <table border='1'>
- <tr bgcolor='#9acd32'>
- <th align='left'>Title</th>
- <th align='left'>Artist</th>
- </tr>
- <xsl:for-each select='catalog/cd'>
- <tr>
- <td><xsl:value-of select='title'/></td>
- <td><xsl:value-of select='artist'/></td>
- </tr>
- </xsl:for-each>
- </table>
- </body>
- </html>
- </xsl:template>
- </xsl:stylesheet>";
- string result = XslTransform(xml, xsl);
- Console.WriteLine(result);
- Console.Read();
- }
- /// <summary>
- /// 将Xml利用Xsl转换成目标xml
- /// </summary>
- /// <param name="inputXmlConent">输入的xml</param>
- /// <param name="inuptXslContent">xsl</param>
- /// <returns>转换后的目标xml</returns>
- static String XslTransform(string inputXmlConent, string inuptXslContent)
- {
- XmlReader readerXml = XmlReader.Create(new MemoryStream(UTF8Encoding.UTF8.GetBytes(inputXmlConent)));
- XmlReader readerXsl = XmlReader.Create(new MemoryStream(UTF8Encoding.UTF8.GetBytes(inuptXslContent)));
- XslCompiledTransform transform = new XslCompiledTransform();
- transform.Load(readerXsl);
- StringBuilder sb = new StringBuilder();
- XmlWriterSettings Settings = new XmlWriterSettings()
- {
- Indent = true,
- ConformanceLevel = ConformanceLevel.Auto
- };
- XmlWriter writer = XmlWriter.Create(sb, Settings);
- transform.Transform(readerXml, writer);
- return sb.ToString();
- }
- }
- }
输出结果:
- <html>
- <body>
- <h2>My CD Collection</h2>
- <table border="1">
- <tr bgcolor="#9acd32">
- <th align="left">Title</th>
- <th align="left">Artist</th>
- </tr>
- <tr>
- <td>Empire Burlesque</td>
- <td>Bob Dylan</td>
- </tr>
- </table>
- </body>
- </html>
C#执行XSL转换的更多相关文章
- JavaEE XML XSL转换(XSLT)
XSL转换(XSLT) @author ixenos 定义: XSL转换机制可以指定将XML文档转换为其他格式的规则,例如,txt纯文本.XHTML或其他任何XML格式. 用途: XSLT通常用来将某 ...
- linux上Kettle定时执行(转换的单步执行,job的单步执行,环境变量,kettle定时功能,效率问题等)转自(http://blog.csdn.net/feng19821209/article/details/5800960)
1,Kettle跨平台使用. 例如:在AIX下(AIX是IBM商用UNIX操作系统,此处在LINUX/UNIX同样适用),运行Kettle的相关步骤如下: 1)进入到Kettle部署的路径 ...
- kettle在linux下面用于shell脚本执行:转换或者作业
1 将windows下面创建好的转换,放到Linux某一个文件夹下面.如:把0816_em.ktr文件放到/home/cfj/kettle/testdemo下面. 注意里面的数据库用户名和密码可能需要 ...
- 【jdbc访问数据库获取执行sql转换json】
Talk is cheap.Show me your code. import java.sql.*; import java.util.HashMap; import java.util.Map; ...
- 使用TryParse()来执行数值转换
static void Main() { var ageText = "25"; if (int.TryParse(ageText,out int age)) { Console. ...
- Kettle_使用Pan.bat执行转换、Kitchen.bat执行作业
参考资料:http://www.cnblogs.com/wxjnew/p/3620792.html 注意:使用bat文件执行速度比执行在spoon.bat中执行慢很多 一.使用Pan.bat执行转换 ...
- Kettle 中转换(transformation)的执行过程
1,Spoon.java的main方法是整个Kettle运行的入口.当打开Kettle的设计器界面后,可以在其中设计作业和转换.这里讨论转换的执行过程. 2,设计好一个转换后,转换保存的本地文件是 . ...
- XSLT可扩展样式表语言转换 System.Xml.Xsl、XslCompiledTransform类
XML文件 books.xml: <?xml version="1.0" encoding="utf-8" ?> <bookstore> ...
- kettle用mysql创建资源库执行sql代码报错
一.原因: sql语句里边使用 'Y' 'N' 给boolean类型的赋值产生sql失败 二.解决方法:将insert语句中‘Y’或‘N’ 改成TRUE或FALSE即可,共两张表3个地方 ...
随机推荐
- 启用Mac(OS X Yosemite)自带的apache
刚用Mac的时候配置过一次Mac自带的apache,主要是平常自己用mackdown写文档,装成html文件放到apache下方便自己和同事阅读.后来升级各种东西,估计是升级OS X导致apache不 ...
- 让我们喝喝下午茶,聊聊AJAX和JSON
1.AJAX [1] AJAX简介 > 全称:Asynchronous JavaScript And XML > 直译:异步的JavaScript和 ...
- MongoDB-集群搭建
前言 搭建一个MongoDB的集群,这个环境只是内网的一个测试环境,分片没有使用副本集,配置并分配好端口后,开启集群的身份验证功能,在开启集群权限时,有些注意事项,在搭建过程中会着重标出. 一.集群规 ...
- org.apache.jasper.JasperException: Unable to compile class for JSP
项目启动时报错 : The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory S ...
- Seq_file文件系统实例剖析
http://blog.chinaunix.net/uid-24432676-id-2607766.html 另 http://www.cnblogs.com/qq78292959/archive/2 ...
- Java 工程转 C#
一. 前言 由于要用c#写点东西,但是我不会c#啊,所以就只能先用Java写好,然后再看看 Java 和C# 的差别,再一点一点转嘛,谁知道,google一下,有软件可以直接把 Java 工程转为C ...
- .net 操作sftp服务器
因为项目的需要,整理了一段C#操作sftp的方法. 依赖的第三方类库名称为:SharpSSH 1.1.1.13. 代码如下: 1: using System; 2: using System.Coll ...
- 【Python数据分析】从Web收集数据小实例
最近在看<鲜活的数据:数据可视化指南>,学习一些数据可视化与数据分析的技术,本例是该书第一章的一个例子衍伸而来. 实例内容:从www.wunderground.com收集美国纽约州布法罗市 ...
- 使用while循环语句和变量输出九九乘法表
输出的结果如下:
- XBOX ONE游戏开发之登陆服务器(一)
XBOX ONE游戏开发之登陆服务器(一) XBOX LIVE是微软自已的认证服务器, 当我们开发游戏时,如果是联网游戏,需要自已架设单点登陆(SSO)服务器 这个需要微软提供Relying Part ...