Procedura: trasformare i dati XML nel controllo server Web XML

Aggiornamento: novembre 2007

È possibile utilizzare un foglio di stile XSLT (file XSLT o XSL) per trasformare il contenuto di un documento di origine XML in una presentazione, creata specificamente per un utente, un supporto o un client. È possibile trasformare i dati XML nel controllo server Web Xml in due modi diversi:

  • Puntando a un file .xslt esterno, in modo tale che la trasformazione venga applicata automaticamente al documento XML.

  • Applicando una trasformazione che sia un oggetto di tipo XslTransform al documento XML.

In entrambi i casi si otterranno gli stessi risultati. La scelta dipende principalmente dal metodo più pratico nell'applicazione in uso. Se la trasformazione è rappresentata da un file XSL o XSLT, sarà facile caricare il file. Se la trasformazione è rappresentata da un oggetto, è probabile che questo venga passato all'applicazione da un altro processo e che quindi sarà possibile applicarlo come un oggetto.

Nota:

La classe XslTransform consente anche di caricare un file .xsl o .xslt nell'istanza della trasformazione.

Per applicare una trasformazione da un file

  1. Aggiungere un controllo Xml alla pagina Web Form.

  2. Impostare la proprietà TransformSource del controllo Xml sul percorso del documento XSLT.

    Nota:

    Accertarsi che in fase di esecuzione l'applicazione disponga di autorizzazioni sufficienti a leggere il file XML.

    Nell'esempio di codice riportato di seguito viene illustrato come applicare una trasformazione da un file a un controllo Xml denominato Xml1.

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

Per applicare una trasformazione da un oggetto XslTransform

  1. Creare un'istanza della classe XslTransform.

  2. Impostare la proprietà Transform del controllo Xml sull'istanza della trasformazione.

    Nell'esempio di codice riportato si seguito viene illustrato come creare un'istanza della classe della trasformazione e utilizzarla per applicare la trasformazione a un oggetto. Sebbene nell'esempio sia il documento XML sia la trasformazione vengano letti da file, in una applicazione reale entrambi gli oggetti potrebbero provenire da un altro componente. La trasformazione viene applicata nel momento stesso in cui viene caricata la pagina.

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

Vedere anche

Riferimenti

Cenni preliminari sul controllo server Web XML