Primeiros passos com documentos XML - Revista easy .net Magazine 24

Este artigo apresenta os primeiros passos usando o C# para fazer a leitura e a criação de documentos XML. Através de classes próprias do C# (tal como a XmlReader), será possível manipular por completo esses tipos de documentos.

De que se trata o artigo

Este artigo apresenta os primeiros passos usando o C# para fazer a leitura e a criação de documentos XML. Através de classes próprias do C# (tal como a XmlReader), será possível manipular por completo esses tipos de documentos.

Em que situação o tema é útil

O tema é útil quando for necessário criar uma forma padronizada de transportar dados (em formato de texto) de uma aplicação para outra. Através do XML será possível criar arquivos com padrões pré-definidos, servindo até mesmo para salvar pequenas informações, como logs de registros, configurações da sua aplicação etc. Um exemplo bastante comum é o uso da Nota Fiscal Eletrônica, que utiliza XML como padrão para a transmissão de dados.

Resumo Devman

Primeiros passos com documentos XML - Manipulando documentos XML no C#:XML é composto, basicamente, por texto puro. Seus elementos lembram muito outra linguagem: o HTML, porém, possuindo regras distintas (que serão vistas no decorrer do artigo) para formação dos documentos. Sua manipulação dentro dos programas é uma tarefa mais complexa, principalmente por causa da hierarquia dos seus elementos e das regras para que estes documentos sejam bem formados. O Framework .NET e a linguagem C# facilitam muito o trabalho com os arquivos XML, já que disponibiliza uma estrutura completa para o uso do mesmo. Assim, neste artigo será desenvolvido um pequeno aplicativo que irá servir de base para a manipulação de documentos XML (tanto para leitura e escrita).

No final da década de 1990 a Internet começou a consolidar-se como plataforma para aplicações mais robustas, como aquelas voltadas para o ambiente coorporativo. Logo, surgiu a necessidade de definir uma forma de facilmente fazer a troca de dados entre estas aplicações, o que apontou um problema: naquela época o ambiente e as linguagens usadas para criação destas aplicações não era homogêneo, o que dificultava ainda mais a integração.Além disso, havia a questão da segurança, uma vez que alguns firewalls barravam certos protocolos e tipos de dados (como ainda fazem), era preciso que os dados pudessem resolver este problema sem expor a segurança.

Por causa destes e de outros pontos, foi definida a linguagem XML – eXtensible Markup Language – para a criação dos documentos, que tem como principal vantagem serem formados por texto puro, o que garante livre passagem pelos Firewalls usando o protocolo HTTP, sem comprometer a segurança.

As principais características dos documentos XML podem ser enumeradas da seguinte forma:

  1. Conteúdo definido através de TAGS da mesma forma que os documentos HTML, apenas com a consideração de que para cada TAG aberta, outra de fechamento deve ser definida. Assim, se no documento existir uma TAG aberta para armazenar o conteúdo, uma tag </cliente> de fechamento deve ser informada ao final do mesmo. Também é possível ter um elemento vazio usando a TAG<cliente />(damesma forma que na linguagem HTML).
  2. O documento é criado de forma hierárquica. É possível ter vários elementos – que são chamados tecnicamente de nós – aninhados, o que possibilita a expressão de tipos de dados complexos usando esta linguagem.
  3. Os documentos XML podem seguir uma estrutura pré-definida de maneira que o seu conteúdo possa ser validado. Esta estrutura é chamada de schema (XML Schemas) e existem ferramentas no Framework .NET para a comparação dos documentos com os schemas. Os arquivos de schema possuem a extensão XSD.
  4. Por causa de sua flexibilidade e suas facilidades, com a linguagem XML e os documentos que são geradas usando-a, outras aplicações podem ser criadas. Com esta linguagem podem ser criados documentos para armazenamento de configurações de documentos, arquivos para compor a interface de aplicações, tal qual é feito com a linguagem XML e assim por diante.
Existem muitas características dessa linguagem, vejamos antes de continuar um típico documento XML com os elementos mais simples. A Listagem 1 mostra um documento XML bem simples.

Listagem 1. Exemplo de documento XML

<?xml version="1.0" encoding="utf-8"?> <config> <software_name>XmlGrid</software_name> <software_category>Windows Application</software_category> <platform>.Net Framework v. 4.0</platform> <author>Vladimir Rech</author> <date>09/06/2012</date> </config>

Observe que para cada TAG de abertura existe uma fechando. Note também que existe um nível principal representado pela TAG<config>, assim, os demais nós estão aninhados, sendo que <config> representa o nó principal do documento.

As regras para formar corretamente um documento XML são bem simples:

  • Para cada TAG de abertura deve haver uma fechando ou, se estiver vazia, deve aparecer na forma<config/>, porexemplo.
  • A linguagem XML é case sensitive, ou seja, as TAGS diferenciam maiúsculas de minúsculas.
  • Não são permitidos espaços nas TAGS. Note que na TAG <software_name> foi usado o caractere underscore “_” para poder compor um nome mais significativo.
  • O documento XML dá suporte para uso de páginas de código para suportar diferentes tipos de caractere. Note no documento de exemplo que na primeira linha está sendo definido o tipo de codificação que será usado no atributo “encoding=’utf-8’”.
A definição de qual codificação utilizar garante que caracteres especiais possam ser utilizados (como os acentos da língua portuguesa) nos documentos XML.

Este documento tem outra característica importante, que é possuir apenas um nível. Todos os elementos estão aninhados na TAG . É possível definir vários níveis de elementos no documento XML. Observe o arquivo da Listagem 2.

Listagem 2. Documento XML com vários níveis

1 <?xml version="1.0"?> 2 <PedidoDeVenda xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 4 Empresa="2" 5 xmlns="http://www.contoso.org"> 6 <ID>9</ID> 7 <Data>2010-01-26T00:00:00</Data> 8 <Cliente ID="999"> 9 <Nome>Supermercados Fartura Ltda</Nome> 10 <Telefone>41-9419-0987</Telefone> 11 <Cidade>Curitiba</Cidade> 12 <Estado>Paraná</Estado> 13 <EMail>comercial@sfartura.com.br</EMail> 14 </Cliente> 15 <Valor>2034</Valor> 16 <Desconto>34</Desconto> 17 <Itens> 18 <PedidoItens> 19 <CodigoProduto>7</CodigoProduto> 20 <DescricaoProduto>Castanha do Para</DescricaoProduto> 21 <Quantidade>100</Quantidade> 22 <Unitario>3.33</Unitario> 23 </PedidoItens> 24 <PedidoItens> 25 <CodigoProduto>328</CodigoProduto> 26 <DescricaoProduto>Frutas cristalizadas Feliz Natal</DescricaoProduto> 27 <Quantidade>300</Quantidade> 28 <Unitario>5.67</Unitario> 29 </PedidoItens> 30 </Itens> 31 </PedidoDeVenda>"

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados