Материал из .Net Framework эксперт
Read xsl in an XmlTextReader
using System;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
using System.Data.rumon;
using System.Data;
class MainClass
{
static void Main(string[] args)
{
// Create a data set object
DataSet ds = new DataSet("New DataSet");
XmlTextReader myXmlReader = new XmlTextReader(@"c:\books.xsl");
// Call ReadXmlSchema
ds.ReadXmlSchema(myXmlReader);
myXmlReader.Close();
}
}
Save XML transformation result to XmlWriter
using System;
using System.Text;
using System.Collections.Generic;
using System.ruponentModel;
using System.Data;
using System.Xml.Xsl;
using System.Xml;
public class MainClass {
public static void Main(){
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("orders.xslt");
StringBuilder htmlContent = new StringBuilder();
XmlWriter results = XmlWriter.Create(htmlContent);
transform.Transform("orders.xml", results);
Console.WriteLine(htmlContent.ToString());
}
}
Transform Extension
using System;
using System.Drawing;
using System.Collections;
using System.ruponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;
public class MainClass {
public static void Main(){
try{
XPathDocument doc = new XPathDocument( @"Sample.xml" );
StringWriter sw = new StringWriter();
XmlTextWriter tw = new XmlTextWriter( sw );
tw.Formatting = Formatting.Indented;
tw.Indentation = 4;
XslTransform tr = new XslTransform();
tr.Load( @"SampleTransform.xslt" );
tr.Transform( doc.CreateNavigator(), null, tw );
tw.Close();
sw.Close();
Console.WriteLine( sw.ToString());
} catch( Exception exc ) {
Console.WriteLine( exc.Message );
}
}
}
Newton</tns:name>
Curie</tns:name>
Steve Irwin</tns:name>
</tns:root>
Transform XML document to a html document
using System;
using System.Collections.Generic;
using System.ruponentModel;
using System.Data;
using System.Xml.Xsl;
using System.Xml;
public class MainClass {
public static void Main(){
XslCompiledTransform transform = new XslCompiledTransform();
// Load the XSL stylesheet.
transform.Load("orders.xslt");
// Transform orders.xml into orders.html using orders.xslt.
transform.Transform("orders.xml", "orders.html");
}
}
Use MemoryStream to hold the XmlTransform result
using System;
using System.Xml;
using System.Xml.Xsl;
using System.IO;
class MainClass
{
public static void Main()
{
XmlTextReader xtr = new XmlTextReader("test.xml");
xtr.WhitespaceHandling = WhitespaceHandling.None;
XmlDocument xd = new XmlDocument();
xd.Load(xtr);
XslTransform xslt = new XslTransform();
xslt.Load("test.xsl");
MemoryStream stm = new MemoryStream();
xslt.Transform(xd, null, stm);
stm.Position = 1;
StreamReader sr = new StreamReader(stm);
Console.Write(sr.ReadToEnd());
xtr.Close();
}
}
Using Xsl to transform data from Database
using System;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.Xml.Xsl;
public class XslTransformDataSet
{
private static string connectionString = "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI";
public static void Main()
{
string SQL = "SELECT TOP 5 * FROM Customers";
SqlConnection con = new SqlConnection(connectionString);
SqlCommand com = new SqlCommand(SQL, con);
SqlDataAdapter adapter = new SqlDataAdapter(com);
DataSet ds = new DataSet("CustomerDataSet");
con.Open();
adapter.FillSchema(ds, SchemaType.Mapped, "Customers");
adapter.Fill(ds, "Customers");
con.Close();
XmlDataDocument dataDoc = new XmlDataDocument(ds);
XslTransform xsl = new XslTransform();
xsl.Load("transform.xsl");
xsl.Transform(dataDoc, null, Console.Out);
}
}
XML transformation with XPathDocument
using System;
using System.Collections;
using System.Data;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;
public class MainClass {
public static void Main() {
try
{
XPathDocument doc = new XPathDocument( "Sample.xml" );
StringWriter sw = new StringWriter();
XmlTextWriter tw = new XmlTextWriter( sw );
tw.Formatting = Formatting.Indented;
tw.Indentation = 4;
XslTransform tr = new XslTransform();
tr.Load( "test.xslt" );
tr.Transform( doc.CreateNavigator(), null, tw );
tw.Close();
sw.Close();
}
catch( Exception exc )
{
Console.WriteLine( exc.Message );
}
}
}
XSLT Transformation
using System;
using System.Xml;
using System.Xml.Xsl;
using System.Collections.Generic;
using System.Text;
class Program
{
static void Main(string[] args)
{
XslCompiledTransform xct = new XslCompiledTransform();
xct.Load("itemsTransform.xslt");
xct.Transform("items.xml", "items.html");
}
}