你目前正处于脱机状态,正在等待 Internet 重新连接

如何通过使用 C# 将 XSL 变换应用于 XML 文档

本文的发布号曾为 CHS307322
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 307322
为此 Microsoft Visual Basic.NET 版本文章,请参见 300929.
为此 Microsoft Visual C++.NET 版本文章,请参见 815653.
这篇文章是指以下Microsoft.NET Framework 类库命名空间:
  • System.Xml
  • System.Xml.Xsl
概要
本分步指南介绍如何应用可扩展到可扩展样式表语言 (XSL) 转换 (XSLT)通过使用XslTransform类来创建新的 XML 文档的标记语言 (XML) 文档。XSL 是一种基于 XML 的语言,在用于将一个 XML 文档转换为另一个 XML 文档或到任何其他结构化文档的 XML 文档。

要求

此列表列出了推荐使用的硬件、 软件、 网络基础结构和所需的服务包:
  • Microsoft Visual Studio 2008,Microsoft Visual Studio2005 年,或者 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 文件夹在其中创建该项目文件夹下。这些文件可以是找到以下文件夹中:
..Visual Studio.NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs \Program Files\Microsoft
  1. 在 Visual Studio 2008 中创建一个新 C# 控制台应用程序或 Visual Studio 的早期版本中。
  2. 请确保该项目包含对System.Xml命名空间的引用,如果未添加的引用。
  3. Using语句指定XmlXsl命名空间,以便您不需要限定的声明在这些以后在代码中的命名空间。您必须使用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对象。此样式表转换一个简单的书籍的 ISBN 列表在 Books.xsl 文件的详细信息。
    myXslTransform.Load("books.xsl")					
  7. 调用转换方法来启动转换,源 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 description for Class1.    class Class1    {        static void Main(string[] args)        {            XslTransform myXslTransform;             myXslTransform = new XslTransform();            myXslTransform.Load("books.xsl");             myXslTransform.Transform("books.xml", "ISBNBookList.xml");         }    }}				
参考
有关与XslTransform对象的XslTransform类的详细信息,请访问下面的 MSDN Web 站点: 有关.NET 中的 XML 的详细信息,请参阅".NET 中的 XML:.NET Framework XML 类和 C# 提供了简单、 可扩展的数据操作"从MSDN 杂志文章。若要执行此操作,请访问下面的 MSDN Web 站点:  

警告:本文已自动翻译

属性

文章 ID:307322 - 上次审阅时间:11/15/2012 08:04:00 - 修订版本: 2.0

Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 标准版

  • kbhowtomaster kbmt KB307322 KbMtzh
反馈
e="text/javascript" src="https://c.microsoft.com/ms.js">