Partager via


Comment : transformer des données XML dans le contrôle serveur Web XML

Mise à jour : novembre 2007

Une feuille de style de transformation XSL (XSLT) (fichier .xslt ou .xsl) permet de transformer le contenu d'un document source XML en une présentation spécifiquement adaptée à un utilisateur, un média ou un client particulier. Il existe deux façons de transformer des données XML dans le contrôle serveur Web Xml :

  • Désigner un fichier .xslt externe qui va automatiquement appliquer les transformations au document XML.

  • Appliquer une transformation qui soit un objet du type XslTransform au document XML.

Les deux méthodes aboutissent au même résultat. Votre choix dépend principalement de ce qui convient le mieux à votre application. Si la transformation est sous la forme d'un fichier.xsl ou .xslt, le fichier peut être chargé facilement. Si la transformation est sous la forme d'un objet — peut-être est–il passé à votre application par un autre processus — alors vous pouvez l'appliquer en tant qu'objet.

Remarque :

La classe XslTransform vous permet aussi de charger un fichier .xsl ou .xslt dans l'instance de la transformation.

Pour appliquer une transformation à partir d'un fichier

  1. Ajoutez un contrôle Xml à la page Web Forms.

  2. Attribuez le chemin d'accès du document XSLT à la propriété TransformSource du contrôle Xml.

    Remarque :

    Vous devez vous assurer que, lors de son exécution, l'application dispose des autorisations requises pour lire le fichier XML.

    L'exemple de code suivant montre comment appliquer une transformation à partir d'un fichier à un contrôle Xml appelé Xml1.

    Xml1.TransformSource = "mystyle.xsl"
    
    Xml1.TransformSource = "mystyle.xsl";
    

Pour appliquer une transformation à partir d'un objet XslTransform

  1. Créez une instance de la classe XslTransform.

  2. Attribuez l'instance de la transformation à la propriété Transform du contrôle Xml.

    L'exemple de code suivant montre comment vous pouvez créer une instance de la classe de la transformation et l'utiliser pour appliquer la transformation à un objet. Dans cet exemple, le document XML et la transformation sont lus à partir de fichiers, mais dans une application réelle les deux objets peuvent provenir d'un autre composant. La transformation est appliquée dès le chargement de la page.

    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;
    }
    

Voir aussi

Référence

Vue d'ensemble du contrôle serveur Web XML