最近项目中有一个需求要帮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

XSLT转换XML<?xml version="1.0" encoding="UTF-8" ?>
XSLT转换XML
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
XSLT转换XML
XSLT转换XML  
<xsl:output method="xml" />
XSLT转换XML
XSLT转换XML    
<xsl:template match="/">
XSLT转换XML      
<EmailModel>
XSLT转换XML        
<xsl:apply-templates select="EmailModel" />
XSLT转换XML      
</EmailModel>
XSLT转换XML    
</xsl:template>
XSLT转换XML
XSLT转换XML    
<xsl:template match="/EmailModel" >
XSLT转换XML      
<xsl:apply-templates select="Email" />
XSLT转换XML    
</xsl:template>
XSLT转换XML
XSLT转换XML    
<xsl:template match="Email" >
XSLT转换XML      
<Subject>
XSLT转换XML        
<xsl:value-of select="subject"/>
XSLT转换XML      
</Subject>
XSLT转换XML      
<Sender>
XSLT转换XML        
<xsl:value-of select="senderName"/>
XSLT转换XML      
</Sender>
XSLT转换XML      
<Recipient>
XSLT转换XML        
<xsl:value-of select="recipientName"/>
XSLT转换XML      
</Recipient>
XSLT转换XML      
<Cc>
XSLT转换XML        
<xsl:value-of select="ccName"/>
XSLT转换XML      
</Cc>
XSLT转换XML      
<Bcc>
XSLT转换XML        
<xsl:value-of select="bccName"/>
XSLT转换XML      
</Bcc>
XSLT转换XML      
<BodyContent>
XSLT转换XML        
<xsl:value-of select="bodyContent"/>
XSLT转换XML      
</BodyContent>
XSLT转换XML      
<Attach>
XSLT转换XML        
<xsl:value-of select="attach"/>
XSLT转换XML      
</Attach>
XSLT转换XML    
</xsl:template>
XSLT转换XML
XSLT转换XML
</xsl:stylesheet>
XSLT转换XML
XML
XSLT转换XML<EmailModel>
XSLT转换XML  
<Email>
XSLT转换XML    
<subject>Subject</subject>
XSLT转换XML    
<senderName>SenderName</senderName>
XSLT转换XML    
<recipientName>RecipientName</recipientName>
XSLT转换XML    
<ccName>CcName</ccName>
XSLT转换XML    
<bccName>BccName</bccName>
XSLT转换XML    
<bodyContent>BodyContent</bodyContent>
XSLT转换XML    
<attach>Attach</attach>
XSLT转换XML    
</Email>
XSLT转换XML
</EmailModel>
XSLT转换XML

相关文章: