XSLT转换XML

最近项目中有一个需求要帮XSLT转换XML的功能,在网上Search,发现此网页上讲述此功能的方法比较好,多种多样。所以转载,以备共享,自查.

源地址:http://msdncsharp.icode.csdn.net/tag/xslcompiledtransform

1.下面的示例执行 XSLT 转换,并输出到 FileStream。

XslCompiledTransform.Transform 方法 (IXPathNavigable, XsltArgumentList, Stream)的C#例子

2.下面的示例演示如何使用 OutputSettings 属性来创建 XmlWriter 对象,该对象将文本写入控制台。

XslCompiledTransform.OutputSettings 属性的C#例子

3.下面的示例执行 XSLT 转换,并输出字符串。

XslCompiledTransform.Transform 方法 (String, XsltArgumentList, TextWriter)的C#例子

4.下面的示例演示如何以编程方式删除临时文件。

XslCompiledTransform.TemporaryFiles 属性的C#例子

5.下面的示例加载存储在网络资源上的一个样式表。XmlSecureResolver 对象指定访问该样式表所需的凭据。

XslCompiledTransform.Load 方法 (String, XsltSettings, XmlResolver)的C#例子

6.下面的示例演示如何启用 XSLT 调试。

XslCompiledTransform 构造函数 (Boolean)的C#例子

7.下面的示例使用 XmlSecureResolver 来解析 XSLT

XslCompiledTransform.Transform 方法 (XmlReader, XsltArgumentList, XmlWriter, XmlResolver)的C#例子

8.下面的示例执行 XSLT 转换,并输出到 XmlWriter 对象。

XslCompiledTransform.Transform 方法 (String, XmlWriter)的C#例子

9.下面的示例执行转换并输出到文件。

XslCompiledTransform.Transform 方法 (String, String)的C#例子

10.下面的示例执行 XSLT 转换,并输出到 XmlWriter 对象。

XslCompiledTransform.Transform 方法 (IXPathNavigable, XmlWriter)的C#例子

11.下面的示例加载 XmlReader 对象中包含的一个样式表。

XslCompiledTransform.Load 方法 (XmlReader)的C#例子

12.下面的示例使用 XsltArgumentList 对象创建表示当前日期和时间的参数。

XslCompiledTransform.Transform 方法 (String, XsltArgumentList, XmlWriter)的C#例子

13.下面的示例执行转换并输出到文件。

XslCompiledTransform.Load 方法 (String)的C#例子

14.下面的示例加载 XPathDocument 对象中包含的一个样式表。

XslCompiledTransform.Load 方法 (IXPathNavigable)的C#例子

15.下面的示例转换 books.xml 文件中的第一本书。

XslCompiledTransform.Transform 方法 (XmlReader, XmlWriter)的C#例子

16.下面的示例执行转换并输出到文件。

XslCompiledTransform 类的C#例子

17.下面的示例加载一个样式表。XmlSecureResolver 对象包含的凭据是访问样式表中的任何 

XslCompiledTransform.Load 方法 (IXPathNavigable, XsltSettings, XmlResolver)的C#例子

18.下面的示例加载一个样式表,并启用对 XSLT 脚本的支持。

XslCompiledTransform.Load 方法 (XmlReader, XsltSettings, XmlResolver)的C#例子

最后附上:XSLT模板,XML数据源两个文件
XSLT

<? xml version="1.0" encoding="UTF-8"  ?>
< xsl:stylesheet  version ="1.0"  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" >

  
< xsl:output  method ="xml"   />

    
< xsl:template  match ="/" >
      
< EmailModel >
        
< xsl:apply-templates  select ="EmailModel"   />
      
</ EmailModel >
    
</ xsl:template >

    
< xsl:template  match ="/EmailModel"   >
      
< xsl:apply-templates  select ="Email"   />
    
</ xsl:template >

    
< xsl:template  match ="Email"   >
      
< Subject >
        
< xsl:value-of  select ="subject" />
      
</ Subject >
      
< Sender >
        
< xsl:value-of  select ="senderName" />
      
</ Sender >
      
< Recipient >
        
< xsl:value-of  select ="recipientName" />
      
</ Recipient >
      
< Cc >
        
< xsl:value-of  select ="ccName" />
      
</ Cc >
      
< Bcc >
        
< xsl:value-of  select ="bccName" />
      
</ Bcc >
      
< BodyContent >
        
< xsl:value-of  select ="bodyContent" />
      
</ BodyContent >
      
< Attach >
        
< xsl:value-of  select ="attach" />
      
</ Attach >
    
</ xsl:template >

</ xsl:stylesheet >
XML
< EmailModel >
  
< Email >
    
< subject > Subject </ subject >
    
< senderName > SenderName </ senderName >
    
< recipientName > RecipientName </ recipientName >
    
< ccName > CcName </ ccName >
    
< bccName > BccName </ bccName >
    
< bodyContent > BodyContent </ bodyContent >
    
< attach > Attach </ attach >
    
</ Email >
</ EmailModel >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值