Die Community zu .NET und Classic VB.
Menü

VB.NET-Tipp 0054: XSL-Transformationen

 von 

Beschreibung

Dieser Tipp zeigt, wie einfach man mit dem .NET-Framework XSL-Transformationen auf XML-Dokumenten durchführen kann. Er stellt eine kleine Experimentierumgebung zur Verfügung. Für die Option 'XML-Dokument im Browser öffnen' wird ein XSL-fähiger Browser benötigt.

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Framework-Version(en):

.NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5

.NET-Version(en):

Visual Basic 2005, Visual Basic 2008

Download:

Download des Beispielprojektes [12,31 KB]

' Dieser Quellcode stammt von http://www.activevb.de
' und kann frei verwendet werden. Für eventuelle Schäden
' wird nicht gehaftet.

' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
' Ansonsten viel Spaß und Erfolg mit diesem Source!

' Projektversion:   Visual Studio 2008
' Option Strict:    Aus
' Option Explicit:  An
' Option Infer:     An
'
' Referenzen: 
'  - System
'  - System.Data
'  - System.Deployment
'  - System.Drawing
'  - System.Windows.Forms
'  - System.Xml
'  - System.Core
'  - System.Xml.Linq
'  - System.Data.DataSetExtensions
'
' Imports: 
'  - Microsoft.VisualBasic
'  - System
'  - System.Collections
'  - System.Collections.Generic
'  - System.Data
'  - System.Drawing
'  - System.Diagnostics
'  - System.Windows.Forms
'  - System.Linq
'  - System.Xml.Linq
'

' ##############################################################################
' ################################# Form1.vb ###################################
' ##############################################################################
Public Class frmMain
    Private Sub linkLabel1_LinkClicked( _
        ByVal sender As System.Object, _
        ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _
        Handles linkLabel1.LinkClicked

        System.Diagnostics.Process.Start( _
            "http://de.wikibooks.org/wiki/Websiteentwicklung:_XSLT")
    End Sub

    Private Sub LinkLabel2_LinkClicked( _
        ByVal sender As System.Object, _
        ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _
        Handles LinkLabel2.LinkClicked

        If My.Computer.FileSystem.FileExists("index.xml") Then
            Diagnostics.Process.Start(IO.Path.GetFullPath("index.xml"))
        End If
    End Sub

    Private Sub button2_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles button2.Click

        Application.Exit()
    End Sub

    Private Sub button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles button1.Click

        ' Ausgaben schreiben
        My.Computer.FileSystem.WriteAllText("index.xml", txtXML.Text, False)
        My.Computer.FileSystem.WriteAllText("adressen.xsl", _
            txtStyle.Text, False)

        ' Hier der Kern der Transformation
        ' Neuen Transformator laden
        With New System.Xml.Xsl.XslCompiledTransform
            ' Stylesheet laden
            .Load("adressen.xsl")

            ' Transformation von index.xml => index.html durchführen
            .Transform("index.xml", "index.html")
        End With

        ' Anzeigen des HTML-Ergebnisses
        WebBrowser.Navigate(IO.Path.GetFullPath("index.html"))
    End Sub
End Class

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.