XML Tutorial :XML transformation using XSLT with example

XSLT is used to transform XML data into a different form (commonly XML or HTML).

Few characteristics of XSLT :

  1. The language used for converting XML documents into other forms

  2. Describes how the document is transformed

  3. Expressed as an XML document (.xsl)

  4. Template rules

    • Patterns match nodes in source document

    • Templates instantiated to form part of result document

  5. Uses XPath for querying, sorting, etc.


Important Namespaces for XSLT :

  1. System.Xml;
  2. System.Xml.XPath;
  3. System.Xml.Xsl;

XSLT with example

Step 1 : Create a XML file.

<?xml version=”1.0″ encoding=”utf-8″ ?>
<name>XYZ School</name>
<address1>123 , XYZ </address1>
<address2>ABC Road</address2>
<city>XYZ city</city>

For example , name the to “XMLFile.xml”  and place it at path “C:WebSite3XMLFile.xml”

Step 2 : Create XSLT file.
<?xml version=”1.0″ encoding=”utf-8″?>
<!– indicates what our output type is going to be –>
<xsl:output method=”html” />
Main template to kick off processing our Sample.xml
From here on we use a simple XPath selection query to
get to our data.
<xsl:template match=”/”>



Welcome : <xsl:value-of select=”/school/name”/>

body,td {font-family:Tahoma,Arial; font-size:9pt;}


<xsl:value-of select=”/school/name”/>
<b>Contact details:</b>
<xsl:value-of select=”/school/name”/>
<xsl:value-of select=”/school/address1″/>
<xsl:value-of select=”/school/address2″/>
<xsl:value-of select=”/school/city”/>
<xsl:value-of select=”/school/country”/>




For example , name the above file to XSLTfile.xslt and place it at path “C:WebSite3XSLTFile.xslt”

Step 3 : Write the below code to in Page_Load or any event where you want to use XSLT Transformation .

string strXmlPath = @”C:WebSite3XMLFile.xml”;
string strXslPath = @”C:WebSite3XSLTFile.xslt”;

//load the Xml doc
XPathDocument XPathDoc = new XPathDocument(strXmlPath);

XslTransform xslTrans = new XslTransform();

//load the Xsl

//create the output stream
XmlTextWriter xmlWriter = new XmlTextWriter(@”C:WebSite3actual.html”, null);

//do the actual transform of Xml
xslTrans.Transform(XPathDoc, null, xmlWriter);

Step 4 : Run the above code .

This creates html in the location “C:WebSite3actual.html” . Please see the html created below :

Leave a Reply