Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Há vários tipos de aplicativos XML:
- Alguns aplicativos usam documentos XML de origem e produzem novos documentos XML que estão em uma forma diferente dos documentos de origem.
- Alguns aplicativos usam documentos XML de origem e produzem documentos de resultado em uma forma totalmente diferente, como arquivos de texto HTML ou CSV.
- Alguns aplicativos usam documentos XML de origem e inserem registros em um banco de dados.
- Alguns aplicativos usam dados de outra fonte, como um banco de dados, e criam documentos XML dele.
Esses não são todos os tipos de aplicativos XML, mas são um conjunto representativo dos tipos de funcionalidade que um programador XML precisa implementar.
Com todos esses tipos de aplicativos, há duas abordagens contrastantes que um desenvolvedor pode adotar:
- Construção funcional usando uma abordagem declarativa.
- Modificação de árvore XML na memória usando código de procedimento.
LINQ to XML dá suporte a ambas as abordagens.
Ao usar a abordagem funcional, você escreve transformações que usam os documentos de origem e geram documentos de resultado completamente novos com a forma desejada.
Ao modificar uma árvore XML no lugar, você escreve o código que percorre e navega por meio de nós em uma árvore XML na memória, inserindo, excluindo e modificando os nós conforme o necessário.
Você pode usar LINQ to XML com qualquer abordagem. Você usa as mesmas classes e, em alguns casos, os mesmos métodos. No entanto, a estrutura e os objetivos das duas abordagens são diferentes. Por exemplo, em situações diferentes, uma ou outra abordagem geralmente terá melhor desempenho e usará mais ou menos memória. Além disso, uma ou outra abordagem será mais fácil de escrever e produzirá um código mais manutenível.
Para ver as duas abordagens contrastadas, consulte modificação de árvore XML na memória versus construção funcional.
Para obter um tutorial sobre como escrever transformações funcionais, consulte Introdução a transformações funcionais puras.