Gewusst wie: Umwandeln von XML-Daten im XML-Webserversteuerelement
Aktualisiert: November 2007
Ein XSLT-Stylesheet (XSLT- oder XSL-Datei) wird verwendet, um den Inhalt eines XML-Quelldokuments in eine Darstellung umzuwandeln, die speziell auf einen Benutzer, ein Medium oder einen Client zugeschnitten ist. Es gibt zwei Möglichkeiten, XML-Daten im Xml-Webserversteuerelement umzuwandeln:
Zeigen Sie auf eine externe XSLT-Datei, die die Transformation automatisch auf das XML-Dokument anwendet.
Wenden Sie eine Transformation, die ein Objekt vom Typ XslTransform ist, auf das XML-Dokument an.
Beide Methoden führen zum selben Ergebnis, sodass Sie sich bei der Wahl der Methode in erster Linie nach der komfortabelsten Lösung für Ihre Anwendung richten können. Wenn die Transformation in Form einer XSL- oder XSLT-Datei erfolgt, lässt sich die Datei problemlos laden. Wenn die Transformation in Form eines Objekts erfolgt – möglicherweise wird es von einem anderen Prozess an Ihre Anwendung übergeben –, können Sie sie als Objekt anwenden.
Hinweis: |
---|
Mit der XslTransform-Klasse können Sie auch eine XSL- oder XSLT-Datei in die Instanz der Transformation laden. |
So wenden Sie eine Transformation aus einer Datei an
Fügen Sie ein Xml-Steuerelement zur Web Forms-Seite hinzu.
Legen Sie die TransformSource-Eigenschaft des Xml-Steuerelements auf den Pfad zum XSLT-Dokument fest.
Hinweis: Sie müssen sicherstellen, dass die Anwendung während der Ausführung über ausreichende Berechtigungen zum Lesen der XML-Dateien verfügt.
Das folgende Codebeispiel zeigt, wie Sie eine Transformation aus einer Datei auf ein Xml-Steuerelement mit dem Namen Xml1 anwenden können.
Xml1.TransformSource = "mystyle.xsl"
Xml1.TransformSource = "mystyle.xsl";
So wenden Sie eine Transformation aus einem XslTransform-Objekt an
Erstellen Sie eine Instanz der XslTransform-Klasse.
Legen Sie die Transform-Eigenschaft des Xml-Steuerelements auf die Instanz der Transformation fest.
Das folgende Codebeispiel zeigt, wie Sie eine Instanz der Transformationsklasse erstellen und zum Anwenden der Transformation auf ein Objekt verwenden können. In diesem Beispiel werden sowohl das XML-Dokument als auch die Transformation aus Dateien gelesen. Bei einer richtigen Anwendung könnten beide Objekte jedoch von einer anderen Komponente stammen. Die Transformation wird angewendet, sobald die Seite geladen wird.
Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument() doc.Load(Server.MapPath("MySource.xml")) Dim trans As System.Xml.Xsl.XslTransform = _ New System.Xml.Xsl.XslTransform trans.Load(Server.MapPath("MyStyle.xsl")) Xml1.Document = doc Xml1.Transform = trans End Sub
private void Page_Load(object sender, System.EventArgs e) { System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(Server.MapPath("MySource.xml")); System.Xml.Xsl.XslTransform trans = new System.Xml.Xsl.XslTransform(); trans.Load(Server.MapPath("MyStyle.xsl")); Xml1.Document = doc; Xml1.Transform = trans; }