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
Para adicionar um controle Xml para a página de Formulário Web.
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
Crie uma instância da classe XslTransform.
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; }