Como aplicar uma transformação XSL de um documento XML para outro utilizando o Visual C++ .NET ou Visual C++ 2005

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 815653
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Para obter uma Microsoft Visual C# versão deste artigo, consulte 307322.

Para obter uma Microsoft Visual Basic .NET versão deste artigo, consulte 300929.

Este artigo faz referência à seguintes espaços de nomes Microsoft .NET Framework Class Library:
  • System.XML
  • System.Xml.xsl

NESTA tarefa
Sumário
Este artigo passo a passo descreve como aplicar uma transformação XSL (Extensible Stylesheet Language) (XSLT) a um documento XML utilizando a classe XslTransform para criar um novo documento XML. XSL é uma linguagem baseada em XML é concebida para transformar um documento XML a outro documento XML ou para transformar um documento XML a qualquer outro documento estruturado.

back to the top

Requisitos

A lista seguinte descreve o hardware recomendado, software, infra-estrutura de rede e service packs que necessita:
  • Microsoft Visual Studio .NET ou o Microsoft Visual Studio 2005
  • Microsoft .NET software Development Kit (SDK) Quickstarts
Este artigo pressupõe que está familiarizado com os seguintes tópicos:
  • Terminologia XML
  • Criar e ler um ficheiro XML
  • Sintaxe de XML Path Language (XPath)
  • XSL
back to the top

Passos para criar o exemplo

Este exemplo utiliza dois ficheiros com Books.XML e Books.xsl. Pode criar os seus próprios ficheiros Books.XML e Books.xsl ou pode utilizar os ficheiros de exemplo incluídos com o .NET Software Development Kit (SDK) tutoriais. Copie os ficheiros Books.XML e Books.xsl para a pasta onde criar este projecto. Pode encontrar estes ficheiros na seguinte pasta:
\Programas\Microsoft visual Studio .NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
  1. No Visual Studio. NET, criar uma aplicação C++ gerida novo projecto.

    Nota No Visual Studio 2005, crie uma nova aplicação de consola CLR.
  2. Adicione o seguinte código para adicionar uma referência ao espaço de nomes System.XML :
    #using <System.XMl.Dll>
  3. Especificar a instrução a utilizar em XML e os espaços de nomes XSL , para que não é necessário que qualificar declarações os espaços de nomes mais tarde no código. Utilize a instrução a utilizar antes de quaisquer outras declarações
    using namespace System::Xml;using namespace System::Xml::Xsl;
  4. Declare as variáveis adequadas e, em seguida, declarar um objecto XslTransform para transformar documentos XML.
    XslTransform* myXslTransform;
  5. Criar um novo objecto XslTransform . A classe XslTransform é um processador XSLT que implementa a recomendação de versão 1.0 de XSLT.
    myXslTransform = new XslTransform();
  6. Utilize o método Load para carregar o objecto XslTransform com a folha de estilos. Esta folha de estilos transforma os detalhes do ficheiro Books.xsl uma simples lista ISBN de livros.
    myXslTransform->Load(S"books.xsl");
  7. Chamar o método de transformação para iniciar a transformação, passar da origem XML de documento e o XML transformado documentam nome.
    myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");
  8. Crie e execute o projecto. Poderá ver o ISBNBookList.xml ficheiro na pasta de ficheiro do projecto.
back to the top

Exemplo de código concluída

// This is the main project file for VC++ application project // generated using an Application Wizard.#include "stdafx.h"#using <mscorlib.dll>#using <System.XMl.Dll>#include <tchar.h>using namespace System;using namespace System::Xml;using namespace System::Xml::Xsl;// This is the entry point for this applicationint _tmain(void){    XslTransform* myXslTransform;    myXslTransform = new XslTransform();    myXslTransform->Load(S"books.xsl");    myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");    return 0;}
Nota Tem de adicionar a opção de compilador do suporte de tempo de execução idioma comum (/ clr:oldSyntax) no Visual C++ 2005 a compilação com êxito o anterior exemplo de código. Para adicionar a opção de compilador do suporte de tempo de execução idioma comum no Visual C++ 2005, siga estes passos:
  1. Clique em Project e, em seguida, clique em <ProjectName> propriedades .

    Nota <ProjectName> é um marcador de posição para o nome do projecto.
  2. Expanda Propriedades de configuração e, em seguida, clique em Geral .
  3. Clique para seleccionar Runtime do idioma comum suporte, sintaxe antigo (/ clr:oldSyntax) na definição de projecto Common Language Runtime suporte no painel da direita, clique em Aplicar e, em seguida, clique em OK .
Para obter mais informações sobre o common language runtime suporte a opção do compilador, visite o seguinte Web site da Microsoft:
/ clr (Common Language Runtime compilação)
http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
Estes passos aplicam-se para o artigo completo.
Nota : durante a compilação acima código no Visual C++ .NET 2003 , poderá receber o aviso do compilador C4996 . Isto deve-se a 'Sistema:: Xml::xsl::XslTransform::Transform' está declarado preterido.
Utilize o seguinte código para que poderá não obter C4996 aviso do compilador.

Substituir :
myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");

com
myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml", 0);
back to the top
Referências
Para mais informações sobre a classe XslTransform , consulte o seguinte Microsoft .NET Framework Class Library documentação:
Para mais informações sobre a classe XslTransform com o objecto XslTransform , consulte o seguinte Microsoft .NET Framework Developer guia de documentação:
Para obter uma comparação prática de XSLT e ASP.NET, consulte a seguinte coluna MSDN online vozes Extreme XML:
Para mais informações sobre XML no. NET, consulte o "XML no .NET: .NET Framework XML classes e simples de oferta de C#, dimensionável manipulação de dados" artigo a partir da MSDN Magazine no seguinte Web site da Microsoft:
Para obter informações mais gerais sobre XML no .NET ou o Visual C++. NET, consulte os newsgroups Usenet seguintes:
back to the top

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 815653 - Última Revisão: 01/17/2015 06:43:31 - Revisão: 6.3

Microsoft Visual C++ 2005 Express Edition, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbhowtomaster kbxml kbhowto KB815653 KbMtpt
Comentários