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.


XSLT


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" ?>
<school>
<name>XYZ School</name>
<address1>123 , XYZ </address1>
<address2>ABC Road</address2>
<city>XYZ city</city>
<country>India</country>
</school>

For example , name the to "XMLFile.xml"  and place it at path "C:\WebSite3\XMLFile.xml"

Step 2 : Create XSLT file.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!-- 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="/">

<html>

<head>

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

<style>
body,td {font-family:Tahoma,Arial; font-size:9pt;}
</style>

</head>

<body>
<h2>
<xsl:value-of select="/school/name"/>
</h2>
<p/>
<b>Contact details:</b>
<br/>
<br/>
<xsl:value-of select="/school/name"/>
<br/>
<xsl:value-of select="/school/address1"/>
<br/>
<xsl:value-of select="/school/address2"/>
<br/>
<xsl:value-of select="/school/city"/>
<br/>
<xsl:value-of select="/school/country"/>
</body>

</html>

</xsl:template>

</xsl:stylesheet>

For example , name the above file to XSLTfile.xslt and place it at path "C:\WebSite3\XSLTFile.xslt"

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

string strXmlPath = @"C:\WebSite3\XMLFile.xml";
string strXslPath = @"C:\WebSite3\XSLTFile.xslt";

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

XslTransform xslTrans = new XslTransform();

//load the Xsl
 xslTrans.Load(strXslPath);

//create the output stream
XmlTextWriter xmlWriter = new XmlTextWriter(@"C:\WebSite3\actual.html", null);

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

Step 4 : Run the above code .

This creates html in the location "C:\WebSite3\actual.html" . Please see the html created below :












No comments:

Post a Comment

Labels

.NET Framework Interview Questions (7) .NET Interview Questions (10) .NET Remoting Interview Questions (1) ADO.NET and BLOB Error (1) ADO.NET Interview Questions (4) Agile Articles (9) AJAX Articles (5) AJAX Interview Questions (11) Algorithms (2) Analytics Articles (2) Analytics Interview Questions (3) Android FAQs - Part 1 (2) Articles (13) ASP.NET Articles (24) ASP.NET Error and Resolution (4) ASP.NET Interview Questions (23) ASP.NET Tutorial (8) AWS Interview Questions (16) Business Analyst Interview Questions (1) Cloud Computing Interview Questions (16) CSharp Articles (17) CSharp Interview Questions (32) CSharp Tutorial (17) Data Analysis (2) Data Structure (1) Design Pattern Articles (5) DevOps Tutorial (1) Digital Marketing Interview Questions (1) Download Templates (1) Error Resolution (6) Excel Articles (9) Excel Macros (1) Excel Tips and Tricks (10) HTML5 Interview Questions (3) HTML5 Tutorial (3) Interview Preparation (2) Interview Questions (24) Introduction to Business Analytics (10) Introduction to Python (7) Introduction to R Programming (23) JAVA Articles (6) Java Tutorial (5) LINQ Articles (4) LINQ Interview Questions (2) LINQ Tutorial (3) Microservices Interview Questions (1) MVCInterviewQuestions (2) OOPs Interview Questions (4) Oracle 9i Tutorial (14) Oracle Articles (2) Oracle Interview Questions (15) Outlook Error (1) PHP Interview Questions (3) PHP Tutorial (3) Product Management (12) Product Management Interview Questions (14) Product Owner Interview Questions (2) Program Management (5) Project Management (13) Project Management Articles (34) Project Management Interview Questions (25) Quiz (1) RallyDev Help (1) Scrum Master Interview Questions (11) Selenium Tutorial (1) Sharepoint Articles (1) SQL Interview Questions (23) SQL Server Articles (20) SSIS Interview Questions (6) SSRS Interview Questions (1) Technical Program Management (12) Technical Program Management - Interview Questions (24) TechnicalProgramManagement (5) Threading Interview Questions (2) Tutorial (8) UML Articles (3) UML Interview Questions (2) Unix (3) UNIX Tutorial (3) WCF Articles (20) WCF Interview Questions (9) WCF Quiz (2) WCF Tutorial (16) Web Service Articles (5) Web Service Interview Questions (3) Window Azure (1) XML Articles (6) XML Interview Questions (3) XML Tutorial (3)