Esse artigo faz parte da revista .NET Magazine edição 62. Clique aqui para ler todos os artigos desta edição

 

bsp;  4   <inscricao>000.000000</inscricao>

    5   <RazaoSocial>R.V. Atacadista Ltda</RazaoSocial>

    6   <fundacao>01/02/1986</fundacao>

    7   <faturamento>1000000,00</faturamento>

    8   <telefone>99-9999-9999</telefone>

    9   <email>rvatacadista@rvatac.com</email>

   10 </empresa>

 

Olhando rapidamente é fácil entender o significado dos dados e como estão estruturados. Note que a XML não executa nenhuma ação sendo usado apenas para estruturar, armazenar e eventualmente transportar dados.

Podem-se escrever aplicações especiais que ao ler os arquivos XML dêem algum significado especial para os dados armazenados entre as TAGS. Um exemplo dentro do nosso contexto é o arquivo WEB.CONFIG usado tanto por aplicações Web Services como ASP.NET. Na Listagem 2 temos um exemplo de um arquivo WEB.CONFIG.

 

Listagem 2. Arquivo Web.Config

    1 <?xml version="1.0"?>

    

    3 <configuration>

    4 

    5     <appSettings/>

    6     <connectionStrings/>

    7 

    8     <system.web>

    9         <!--

   10             Set compilation debug="true" to insert debugging

   11             symbols into the compiled page. Because this

   12             affects performance, set this value to true only

   13             during development.

   14         -->

   15         <compilation debug="true" />

   16         <!--

   17             The <authentication> section enables configuration

   18             of the security authentication mode used by

   19             ASP.NET to identify an incoming user.

   20         -->

   21         <authentication mode="Windows" />

   22         <!--

   23             The <customErrors> section enables configuration

   24             of what to do if/when an unhandled error occurs

   25             during the execution of a request. Specifically,

   26             it enables developers to configure html error pages

   27             to be displayed in place of a error stack trace.

   28 

   29         <customErrors mode="RemoteOnly"  defaultRedirect="GenericErrorPage.htm">

   30             <error statusCode="403" redirect="NoAccess.htm" />

   31             <error statusCode="404" redirect="FileNotFound.htm" />

   32         </customErrors>

   33         -->

   34     </system.web>

   35 </configuration>

 

Cada TAG existente no arquivo da Listagem 2 representa uma configuração a ser aplicada em Web Service ou site ASP.NET. Não entrarei em detalhes do que cada configuração faz porque foge do escopo do artigo.

 

Estrutura do documento XML

Não existe nenhuma TAG XML pré-definida. Você pode criar suas próprias livremente, porém é necessário obedecer-se a algumas regras. Os documentos XML são compostos por uma estrutura em forma de árvore, sendo possíveis várias ramificações até se chegar ao nó final. Considere novamente a Listagem 1.

A primeira linha é a declaração padrão do XML. Define sua versão, 1.0 e a codificação usada para o texto. A próxima linha define o elemento raiz do documento, que conterá as informações e no nosso caso é algo como se dissesse que este documento contém dados de empresa:

 

<empresa>

 

As próximas linhas armazenam os dados do elemento raiz:

 

  <cnpj>00.000.000/0000-00</cnpj>

  <inscricao>000.000000</inscricao>

  <RazaoSocial>R.V. Atacadista Ltda</RazaoSocial>

  <fundacao>01/02/1986</fundacao>

  <faturamento>1000000,00</faturamento>

  <telefone>99-9999-9999</telefone>

  <email>rvatacadista@rvatac.com</email>

 

E finalmente temos a TAG que encerra o elemento raiz:

 

</empresa>

 

Um documento XML pode possuir múltiplos níveis formando um documento mais ou menos complexo. Cada TAG pode ter um conjunto de TAGS aninhadas e pode conter atributos também. Vamos considerar o exemplo da Listagem 3.

 

Listagem 3. Documento XML com nós aninhados

    1 <?xml version="1.0" encoding="utf-8"?>

    2 <discoteca>

    3   <cd Titulo="Música Brasileira">

    4     <musicas>

    5       <titulo>Aquarela Brasileira</titulo>

    6       <autor>Ary Barroso</autor>

    7     </musicas>

    8     <musicas>

    9       <titulo>Garota de Ipanema</titulo>

   10       <autor>Tom Jobim</autor>

   11     </musicas>

   12     <musicas>

   13       <titulo>Felicidade</titulo>

   14       <autor>Lupicínio Rodrigues</autor>

   15     </musicas>

   16   </cd>

   17   <cd Titulo="The Beatles Revisited">

   18     <musicas>

   19       <titulo>Yellow Submarine</titulo>

   20       <autor>The Beatles</autor>

   21     </musicas>

   22     <musicas>

   23       <titulo>Help</titulo>

   24       <autor>The Beatles</autor>

   25     </musicas>

   26     <musicas>

   27       <titulo>And I Love Her</titulo>

   28       <autor>The Beatles</autor>

   29     </musicas>

   30   </cd>

...

Quer ler esse conteúdo completo? Tenha acesso completo