Cómo: Transformar datos XML en el control XML de servidor Web

Actualización: noviembre 2007

Una hoja de estilos (archivo .xslt o .xsl) de Transformaciones XSL (XSLT) se utiliza para transformar el contenido de un documento XML de origen en una presentación que se adapta específicamente a un usuario, un medio o un cliente determinado. Hay dos formas de transformar datos XML en el control Xml de servidor Web:

  • Seleccione un archivo .xslt externo, al que se aplicará automáticamente la transformación al documento XML.

  • Aplique al documento XML una transformación que sea un objeto de tipo XslTransform.

Ambos métodos producen el mismo efecto; la elección de uno u otro deberá basarse, simplemente, en lo que resulte más conveniente para la aplicación en cuestión. Si la transformación toma la forma de un archivo .xsl o .xslt, será fácil cargar el archivo. Si la transformación toma la forma de un objeto (tal vez porque haya otro proceso pasándola a la aplicación), podrá aplicarla como objeto.

Nota:

La clase XslTransform permite cargar un archivo .xsl o .xslt en la instancia de la transformación.

Para aplicar una transformación desde un archivo

  1. Agregue un control Xml a la página de formularios Web Forms.

  2. Establezca la propiedad TransformSource del control Xml en la ruta de acceso del documento XSLT.

    Nota:

    Debe asegurarse de que, cuando se ejecute la aplicación, tiene permisos suficientes para leer el archivo XML.

    En el ejemplo siguiente se muestra cómo se puede aplicar una transformación desde un archivo a un control Xml denominado Xml1:

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

Para aplicar una transformación desde un objeto XslTransform

  1. Cree una instancia de la clase XslTransform.

  2. Establezca la propiedad Transform del control Xml en la instancia de la transformación.

    En el siguiente ejemplo se muestra cómo se crea una instancia de la clase de transformación y se utiliza para aplicar la transformación a un objeto. En este ejemplo, el documento XML y la transformación se leen desde archivos, pero en una aplicación real, los dos objetos podrían venir de otro componente. La transformación se aplica en cuanto se carga la página.

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

Vea también

Referencia

Información general sobre XML (Control de servidor Web)