HOW TO:使用 C# .NET 对 XML 文档应用 XSL 转换 (From MSDN)

本文的发布号曾为 CHS307322
本文讨论一种 Microsoft 产品的 Beta 版本。本文中的信息按“原样”提供,如有更改恕不另行通知。

对于该 Beta 产品,Microsoft 不提供正式的产品支持。有关获取对 Beta 版本的支持的信息,请参阅 Beta 产品文件中包括的文档资料,或查看您下载此版本的站点。

有关本文的 Microsoft Visual Basic .NET 版本,请参见 300929

本任务的内容

概要

本文描述如何使用 XslTransform 类将可扩展样式表语言 (XSL) 转换 (XSLT) 应用于可扩展标记语言 (XML) 文档,以创建一个新的 XML 文档。 XSL 是一种基于 XML 的语言,用于将一个 XML 文档转换为另一个 XML 文档,或者将一个 XML 文档转换为任何其他结构的文档。

返回页首

要求

下表概括了推荐使用的硬件、软件、网络架构以及所需的 Service Pack:
  • Microsoft Visual Studio .NET
  • Microsoft .NET SDK 快速入门
本文假定您熟悉下列主题:

  • XML 术语
  • 创建和读取 XML 文件
  • XML 路径语言 (XPath) 语法
  • XSL
返回页首

生成示例的步骤

本例使用两个名为 Books.xml 和 Books.xsl 的文件。您可以创建自己的 Books.xml 和 Books.xsl 文件,或者使用 .NET 软件开发工具包 (SDK) 快速入门中包含的示例文件。 必须将 Books.xml 和 Books.xsl 文件复制到 /Bin/Debug 文件夹中,该文件夹位于创建此项目所在文件夹的下面。 可以在以下文件夹中找到这些文件:

../Program Files/Microsoft Visual Studio .NET/FrameworkSDK/Samples/QuickStart/Howto/Samples/Xml/Transformxml/Cs

  1. 在 Visual Studio .NET 中新建一个 C# 控制台应用程序。
  2. 确保项目包含对 System.Xml 名称空间的引用,如果不存在,则添加该引用。
  3. Xml Xsl 名称空间使用 using 语句,这样,在后面的代码中就不需要限定这些名称空间中的声明了。using 语句必须位于所有其他声明之前。
    using System.Xml;
    using System.Xml.Xsl;
  4. 声明相应的变量和一个 XslTransform 对象以转换 XML 文档。
    XslTransform myXslTransform;
  5. 构造一个新的 XslTransform 对象。 XslTransform 类是一个 XSLT 处理器,它实施了 XSLT 1.0 版本建议。
    myXslTransform = new XslTransform();
  6. 使用 Load 方法加载带有此样式表的 XslTransform 对象。 此样式表将 Books.xsl 文件中的具体内容转换为一个简单的 ISBN 图书列表。
    myXslTransform.Load("books.xsl")
  7. 调用 Transform 方法以启动转换过程,并将 XML 源文档和转换后的 XML 文档名传递给该方法。
    myXslTransform.Transform("books.xml", "ISBNBookList.xml");
  8. 生成并运行您的项目。 可以在项目文件所在文件夹下的 /Bin/Debug 文件夹中找到生成的 ISBNBookList.xml 文件。
返回页首

完整代码示例

using System;
using System.Xml;
using System.Xml.Xsl; 
namespace XSLTransformation
{
/// <summary>
    /// Summary description for Class1.
/// </summary>
    class Class1
    {
        static void Main(string[] args)
        {
            XslTransform myXslTransform; 
            myXslTransform = new XslTransform();
            myXslTransform.Load("books.xsl"); 
            myXslTransform.Transform("books.xml", "ISBNBookList.xml"); 

        }
    }
}
返回页首

参考

有关 XslTransform 类的更多信息,请参见以下 Microsoft .NET 框架类库文档:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxslxsltransformclasstopic.asp?frame=true

有关 XslTransform 类与 XslTransform 对象的更多信息,请参见以下 Microsoft .NET 框架开发人员指南文档:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguidnf/html/cpconxsltransformclassimplementsxsltprocessor.asp?frame=true

有关 XSLT 和 Active Server Pages .NET 实际比较的信息,请参见以下 MSDN Online Voices Extreme XML 栏目:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml02192001.asp

有关 .NET 中 XML 的更多信息,请参见“XML in .NET:.NET Framework XML Classes and C# Offer Simple, Scalable Data Manipulation”(.NET 中的 XML:.NET 框架 XML 类和 C# 提供了简单、可缩放的数据操作)一文,这篇文章在 MSDN Magazine 中,可从下面的 Microsoft Web 站点访问:

http://msdn.microsoft.com/msdnmag/issues/01/01/xml/xml.asp

返回页首



这篇文章中的信息适用于:

  • Microsoft Visual C# .NET Beta 2
最近更新:2001-11-5 (1.0)
关键字kbhowto kbHOWTOmaster KB307322 kbAudDeveloper
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值