Compartilhar via


Como: Transformar dados XML no controle de servidor Web XML

Uma folha de estilo de transformações XSL (XSLT) (arquivo .xslt ou .xsl) é usada para transformar o conteúdo de um documento XML de origem em uma apresentação que é ligado especificamente a um usuário particular, mídia ou cliente.Há duas maneiras para transformar os dados XML no controle Xml de servidor Web:

  • Aponte para um arquivo .xslt externo, que automaticamente aplicará a transformação ao documento XML.

  • Aplique uma transformação que é um objeto do tipo XslTransform para o documento XML.

Os dois métodos têm os mesmos resultados e sua escolha é dependente principalmente do que for mais conveniente em seu aplicativo.Se a transformação for sob a forma de um arquivo .xsl ou .xslt, é fácil carregar o arquivo.Se a transformação está em forma de um objeto — talvez ele está sendo passado para o aplicativo por outro processo — e você poderá aplicá-lo como um objeto.

Observação:

A classe XslTransform também permite que você carregue um arquivo .xsl ou .xslt na instância da transformação.

Para aplicar uma transformação de um arquivo

  1. Para adicionar um controle Xml para a página de Formulário Web.

  2. Defina a propriedade TransformSource do controle Xml para o caminho do documento de fonte de dados XML.

    Observação:

    Você precisa ter certeza que quando seu aplicativo é executado ele tem permissões suficientes para ler o arquivo XML.

    O exemplo de código a seguir mostra como você pode aplicar uma transformação a partir de um arquivo para um controle Xml chamado Xml1.

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

Para aplicar uma transformação de um objeto XslTransform

  1. Crie uma instância da classe XslTransform.

  2. Defina a propriedade Transform do controle Xml vinculado a dados para a identificação do controle .

    O exemplo de código a seguir mostra como você pode criar uma instância da classe de transformação e usá-la para aplicar a transformação a um objeto.No exemplo, tanto o documento XML como a transformação são lidos de arquivos, mas em um aplicativo real, ambos os objetos podem vir de outro componente.A transformação é aplicada, assim que a página for carregada.

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

Consulte também

Referência

Visão geral controle servidor Web XML