Arquivos

Posts Etiquetados ‘codigo limpo’

XML – Parse de XML

Após ajudar um colega aqui do trabalho e ler o post Don’t Parse That XML do elegantcode.com, vi que isso é um problema GRAVE!!

Antes de escrever sobre… Galeraaa fazer parse de XML com string.find e replace NÃO É LEGAL!

O post do elegantcode nos mostra um jeito muito mais fácil e rápido para montar objetos de um XML já formado, porém não é sempre que queremos montar objetos para ler um arquivo rápido. Para isso usamos o seguinte código:

XmlDocument documentoXml = new XmlDocument();
documentoXml.Load("arquivoDeEntrada"); //podemos carregar também por stream, texto, etc...
XmlNodeList listaDeNos = documentoXml.SelectNodes("/noraiz/noprimeirofilho/nosegundofilho");

foreach (XmlNode node in listaDeNos)
{
    //todos os nós vem aqui!
}

Com esse código todos os nós “nosegundofilho” serão obtidos:

<noraiz>
   <noprimeirofilho>
      <nosegundofilho>lala</nosegundofilho>
   </noprimeirofilho>
</noraiz>

Viram! Simples e já nos retorna todos os nós que queremos!
Agora para acessar os valores de tags internas:
node.ChildNodes["nomeDaTag"].InnerText;

E os atributos:
node.Attributes["nome"].Value;

Abraço a todos!

Categorias.NET, XML Tags:, ,
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.