Transforming an XML Document
Example 7-5 shows one of the simplest possible XSLT-related programs in C#. Given a source filename, a stylesheet filename, and a destination filename, it transforms the source into the destination using the stylesheet. It will work with any XML source file and any XSLT stylesheet.
using System.Xml.Xsl; public class Transform { public static void Main(string [ ] args) { string source = args[0]; string stylesheet = args[1]; string destination = args[2]; XslTransform transform = new XslTransform( ); transform.Load(stylesheet); transform.Transform(source, destination); } }
I
won’t explain in excruciating detail how this
program works, but I will point out a few important facts about the
XslTransform
type. It only has one property,
XmlResolver
, and two methods, Load(
)
and Transform( )
, but it is still one
of the most versatile pitchers in the .NET XML bullpen.
First, the Load( )
method has eight overloads. All of them load the specified XSLT
stylesheet, but each of them takes the stylesheet in a different
parameter type. The stylesheet may be specified as an
IXPathNavigable
(such as
XmlDocument
), URL, XmlReader
,
or XPathNavigator
; together, these types cover
every possible way to read an XML document. For each Load(
)
method that takes one of these parameters, there is
another one taking an XmlResolver
as the second
parameter. This XmlResolver
is used to resolve any stylesheets referenced in ...
Get .NET & XML now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.