Partilhar via


Transformação funcional de XML (LINQ to XML)

Este artigo discute a abordagem de transformação funcional pura para modificar documentos XML e a contrasta com uma abordagem processual.

Modificando um documento XML

Uma das tarefas mais comuns para um programador XML é transformar XML de uma forma para outra. A forma de um documento XML é a estrutura do documento, que inclui o seguinte:

  • A hierarquia expressa pelo documento.
  • Os nomes dos elementos e dos atributos.
  • Os tipos de dados dos elementos e atributos.

Em geral, a abordagem mais eficaz para transformar XML de uma forma para outra é a transformação funcional pura. Nesta abordagem, a tarefa principal do programador é criar uma transformação que é aplicada a todo o documento XML (ou a um ou mais nós estritamente definidos). A transformação funcional é indiscutivelmente a mais fácil de codificar (depois que um programador está familiarizado com a abordagem), produz o código mais fácil de manter e geralmente é mais compacta do que abordagens alternativas.

Tecnologias transformacionais funcionais XML

A Microsoft oferece duas tecnologias de transformação funcional para uso em documentos XML: XSLT e LINQ to XML. XSLT é suportado System.Xml.Xsl no namespace gerenciado e na implementação COM nativa do MSXML. Embora o XSLT seja uma tecnologia robusta para manipular documentos XML, ele requer experiência em um domínio especializado, ou seja, a linguagem XSLT e suas APIs de suporte.

O LINQ to XML fornece as ferramentas necessárias para codificar transformações funcionais puras de forma expressiva e poderosa, dentro do código C# ou Visual Basic. Por exemplo, muitos dos exemplos na documentação LINQ to XML usam uma abordagem funcional pura. Além disso, no tutorial Tutorial: Manipulando conteúdo em um documento WordprocessingML, usamos LINQ to XML em uma abordagem funcional para manipular informações em um documento do Microsoft Word.

Para obter uma comparação mais completa do LINQ to XML com outras tecnologias Microsoft XML, consulte LINQ to XML vs. outras tecnologias XML.

XSLT é a ferramenta recomendada para transformações centradas em documentos quando o documento de origem tem uma estrutura irregular. No entanto, o LINQ to XML também pode executar transformações centradas em documentos. Para obter mais informações, consulte Como usar anotações para transformar árvores LINQ em XML em um estilo XSLT.

Consulte também