XML – Parse de XML
09/09/2010
Deixe um comentário
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
codigo limpo, DotNet, xml