Frank Dzaebel, erstellt am: 15.07.2006, zuletzt geändert:
10.02.2008
Kategorie: Implementation, .NET-Version: 2.0, [Download]
[Download2]
Beispiel einer Transformation von XML nach HTML über XslCompiledTransform.Transform().
Ausgabe des transformierten HTMLs im WebBrowser:

Inhalt der Datei XmlFile1.xml
Inhalt der Datei XslFile.xsl:

Code für Form1:
using System;
using System.Text;
using System.Windows.Forms;
using System.Xml.Xsl;
using System.Xml.XPath;
using System.IO;
using System.Xml;
using System.Globalization;
namespace XslTransform
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.DocumentText = TesteXsl();
}
private string TesteXsl()
{
XslCompiledTransform xsl = null;
XPathDocument xPathDocument = null;
TextWriter tw = null;
string XMLPage = "../../XmlFile1.xml"; //Pfad zur XML-Datei
string XSLStylesheet = "../../XslFile1.xsl"; //Pfad zur XSL-Datei
try
{
xPathDocument = new XPathDocument(XMLPage, XmlSpace.Default);
xsl = new XslCompiledTransform(true); // Normalfall ohne Debugging
xsl.Load(XSLStylesheet);
StringBuilder sb = new StringBuilder();
tw = new StringWriter(sb);
xsl.Transform(xPathDocument, null, tw);
return sb.ToString();
}
catch (Exception ex)
{
string innerMsg = "";
if (ex.InnerException != null)
innerMsg = ex.InnerException.Message;
MessageBox.Show("Fehler beim Konvertieren!\n" +
innerMsg + "\n======================\n\n" +
ex.Message + "\n" + ex.StackTrace);
return "";
}
finally { if (tw != null) tw.Close(); }
}
}
}