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

文章翻译 文章翻译
文章编号: 307322 - 查看本文应用于的产品
本文的发布号曾为 CHS307322
为此 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 站点:
XslTransform 类
有关.NET 中的 XML 的详细信息,请参阅".NET 中的 XML:.NET Framework XML 类和 C# 提供了简单、 可扩展的数据操作"从MSDN 杂志文章。若要执行此操作,请访问下面的 MSDN Web 站点:
http://msdn.microsoft.com/msdnmag/issues/01/01/xml/default.aspx
?

属性

文章编号: 307322 - 最后修改: 2012年11月15日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 标准版
关键字:?
kbhowtomaster kbmt KB307322 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 307322
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com