Ler XML específico com C#

.NET

07/02/2012

Tenho o seguinte XML:

<?xml version=1.0 encoding=iso-8859-1?>
<tabelas>
   <tb_parceiro desc=Parceiro de negócios>

      <coluna desc=Código do PN>CardCode</coluna>
      <coluna desc=Nome do PN>CardName</coluna>

   </tb_parceiro>

   <tb_teste>
      <coluna desc=teste>Teste</coluna>
   </tb_teste>

</tabelas>


- Dentro da tag tabelas ficara todas as minhas tabelas que irei mapear manualmente.
- Dentro de tabelas irá existir uma tag com o nome da tabela e sua descrição. EX: <tb_parceiro desc=Parceiro de negócios>
- Dentro de da tb_parceiro irá existir várias tags com o nome <coluna> com uma descrição e seu valor.

Como percorro esse xml pegando todas as colunas de um determinada tabela, sua descrição e seu valor? E pegar a descrição de uma determinada tabela també?
Tem que ser usando C#.
Harley Magalhães

Harley Magalhães

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

07/02/2012

Boa noite.
Tente o seguinte:
-----------------
XDocument docXML = XDocument.Load(caminho);
foreach(XElement tab in docXML.Element(tabelas).Elements)
{
string descTabela = tab.Attribute(desc).Value;//acessando atributo pelo nome
foreach(XElement col in tab.Elements)
{
string descColuna = col.Attribute(desc).Value;
string contColuna = col.Value;
}
}
-----------------
Não repare qqer pequena falha no código, escrevi no notepad mesmo.
Qualquer dúvida, é só falar.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

07/02/2012

Bom, não sei se é de seu interesse, mas você pode pesquisar por Serialization. O .NET fornece uma série de facilidades para se trabalhar com isso, convertendo objetos de/para XML.
GOSTEI 0
Flavia Santos

Flavia Santos

07/02/2012

Bem lembrado Joel, inclusive na edição 73 da revista .net magazine tem um artigo bem interessante sobre o tema.
GOSTEI 0
POSTAR