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
Ajoutez un contrôle Xml à la page Web Forms.
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
Créez une instance de la classe XslTransform.
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; }