SUMMARY
This step-by-step article shows you how to apply an
Extensible Stylesheet Language (XSL) Transformation (XSLT) to an Extensible
Markup Language (XML) document by using the
XslTransform class to create a new XML document. XSL is an XML-based language
that is designed to transform one XML document into another XML document or an
XML document into any other structured document.
back to the top
Requirements
This list outlines the recommended hardware, software, network
infrastructure, and service packs that you need:
- Microsoft Visual Studio .NET or Microsoft Visual Studio 2005
- Microsoft .NET SDK Quickstarts
This article assumes that you are familiar with the following
topics:
- XML terminology
- Creating and reading an XML file
- XML Path Language (XPath) syntax
- XSL
back to the top
Steps to Build the Sample
This example uses two files named Books.xml and Books.xsl. You
can create your own Books.xml and Books.xsl files or use the sample files that
are included with the .NET Software Development Kit (SDK) QuickStarts. You must
copy the Books.xml and Books.xsl files to the \Bin\Debug folder that is located
underneath the folder in which you create this project. These files can be
found in the following folder:
..\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
- Create a new C# console application in Visual Studio
.NET or Microsoft Visual Studio 2005.
- Make sure that the project contains a reference to the System.Xml namespace, and add a reference if it does not.
- Specify the using statement on the Xml and Xsl namespaces so that you are not required to qualify declarations
in those namespaces later in your code. You must use the using statement prior to any other declarations.
using System.Xml;
using System.Xml.Xsl;
- Declare the appropriate variables and declare an XslTransform object to transform XML documents.
XslTransform myXslTransform;
- Construct a new XslTransform object. The XslTransform class is an XSLT processor that implements the XSLT version 1.0
recommendation.
myXslTransform = new XslTransform();
- Use the Load method to load the XslTransform object with the style sheet. This style sheet transforms the
details of the Books.xsl file into a simple ISBN list of books.
myXslTransform.Load("books.xsl")
- Call the Transform method to initiate the transformation, passing in the source XML
document and the transformed XML document name.
myXslTransform.Transform("books.xml", "ISBNBookList.xml");
- Build and run your project. You can find the resultant
ISBNBookList.xml file in the \Bin\Debug folder under your project file's
folder.
back to the top
Complete Code Sample
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");
}
}
}
back to the top
REFERENCES
For more information about the
XslTransform class, see the following Microsoft .NET Framework Class Library
documentation:
For more information about the
XslTransform class with the
XslTransform object, see the following Microsoft .NET Framework Developer's
Guide documentation:
For a practical comparison of XSLT and Active Server Pages .NET,
see the following
MSDN Online Voices Extreme XML column:
For more information about XML in .NET, see the "XML in .NET:
.NET Framework XML Classes and C# Offer Simple, Scalable Data Manipulation"
article from
MSDN Magazine at the following Microsoft Web site:
For more general information about Visual C# .NET or XML in .NET,
see the following Usenet newsgroups:
back to the top