Ler XML específico com C#

07/02/2012

0

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

Responder

Posts

07/02/2012

Joel Rodrigues

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.
Responder

07/02/2012

Joel Rodrigues

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.
Responder

08/02/2012

Flavia Santos

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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar