XML significa Linguagem de Marcação Extensível e é um formato de dados amplamente utilizado, que serve para o armazenamento estruturado de informações, seja para catálogos, dados meteorológicos ou outras coleções de dados. Neste guia, vou te mostrar como você pode processar arquivos XML em C# de maneira eficaz com LINQ (Language Integrated Query). Vamos abordar passo a passo o processamento, ordenação e filtragem de dados XML.
Principais descobertas
- XML é ideal para o armazenamento estruturado de dados.
- LINQ permite consultas e manipulações eficientes de dados XML.
- Você pode filtrar com LINQ com base em critérios específicos e ordenar os resultados.
- A combinação de XML e LINQ melhora a legibilidade e manuseio de dados em C#.
Ler e preparar dados XML
Para trabalhar com dados XML, você primeiro precisa dos namespaces apropriados. Estes são essenciais para a leitura e processamento dos dados XML.
Primeiro, vamos adicionar os namespaces necessários:

A classe central que usaremos é a XDocument. Ela representa um documento XML, que nos permite processar nossos dados XML facilmente. Em nosso exemplo, criaremos uma instância dessa classe para iniciar um documento XML.
Instanciação do XDocument
No próximo passo, você criará uma instância de XDocument que lê seus dados XML. Chamaremos essa instância de plzxdoc.
Com o comando Parse, você preencherá o objeto com sua string XML. Este passo é crucial, pois permite que você armazene e manipule os dados XML na sua variável plzxdoc.
Realizando consultas LINQ em dados XML
Depois de carregar seu documento XML, vem a importante consulta. LINQ permite que você filtre facilmente dados específicos. Para nosso exemplo, usaremos LINQ to XML para filtrar todos os CEPs.
Preparando a consulta LINQ
Esta consulta percorre todos os elementos do documento XML que representam um CEP e os filtra pela cidade "Berlim". Como resultado, você obtém apenas os CEPs que atendem a essa condição.
Ordenação dos resultados
Com LINQ, você também pode ordenar os resultados filtrados.

Aqui, o CEP é ordenado de forma decrescente, de modo que os CEPs mais altos são exibidos primeiro.
Saída dos resultados
Agora que você tem os CEPs filtrados e ordenados, é hora de exibi-los no console ou em uma interface de usuário.
Ciclo ForEach para exibição
Com este ciclo, você acessa os valores do bairro e do CEP e os exibe formatados no console.
Resumo – Programação LINQ com dados XML em C
Neste guia, você aprendeu como ler, filtrar e exibir dados XML em C# com LINQ. No início, você conheceu os fundamentos de XML e LINQ e incorporou os namespaces apropriados. Em seguida, você criou uma instância de XDocument e usou uma consulta LINQ para processar os dados. Finalmente, você ordenou os dados filtrados e os exibiu no console.
Perguntas frequentes
O que é XML?XML significa Linguagem de Marcação Extensível e é usado para armazenar dados de forma estruturada.
O que significa LINQ?LINQ é uma linguagem de integração de consultas no.NET, que permite consultar e manipular dados de maneira declarativa.
Como filtro dados XML com LINQ?Você pode filtrar dados XML com uma consulta LINQ, definindo condições para os elementos e atributos desejados, por exemplo, where (string)plz.Element("Ort") == "Berlim".
Como ordeno resultados com LINQ?Os resultados podem ser ordenados com os métodos OrderBy ou OrderByDescending, especificando as propriedades desejadas pelas quais será feita a ordenação.