C#实现XSL转换的方法
作者:Jimmy.Yang 时间:2023-02-02 03:36:41
本文实例讲述了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#程序设计有所帮助。
标签:C#,XSL,转换
0
投稿
猜你喜欢
Java应用多机器部署解决大量定时任务问题
2023-10-28 17:07:17
Spring boot事件监听实现过程解析
2022-08-29 13:46:02
Android组件之服务的详解
2021-10-14 00:05:30
Java枚举类使用Lombok方式
2022-06-28 22:07:02
java 数据结构之删除链表中的元素实例代码
2022-03-28 00:51:11
Java 数据结构之删除链表中重复的结点
2023-11-28 15:36:22
详解Java中的final关键字
2023-02-20 17:29:50
从汇编码分析java对象的创建过程(推荐)
2023-06-09 18:05:17
Spring Boot配置Thymeleaf(gradle)的简单使用
2023-04-18 07:41:42
Android解决所有双击优化的问题
2023-07-27 09:07:03
Java进阶之FileUpload完成上传的实例
2022-03-26 03:39:55
Android Studio实现简易计算器App (Java语言版)
2023-08-02 01:05:39
Java编程基础测试题分享
2023-11-27 22:14:58
Java中File文件操作类的基础用法
2022-09-28 14:37:03
springboot中@Value的工作原理说明
2023-08-24 04:48:49
java 算法之希尔排序详解及实现代码
2022-07-12 23:09:45
android实现双日期选择控件(可隐藏日,只显示年月)
2023-05-09 12:59:10
java实现合并单元格的同时并导出excel示例
2022-05-15 04:22:38
Java如何实现支付宝电脑支付基于servlet版本
2021-12-11 04:39:47
C# 装箱和拆箱的知识回顾
2022-07-19 09:27:58