Listagem 08 da edição 36 da .net Magazine
Segue abaixo a listagem 08 completa do artigo " Integração via WebServices com o CEP dos correios", publicado nesta edição 36 da Revista .Net Magazine, e que você já pode encontrar nas principais bancas de todo Brasil.
Listagem 8. Método que percorre todo o XML avançado
//caso tenha criado uma nova página,
//adicione os seguintes namespace
using System.Xml;
using correios = br.com.correios.consultacep;
using System.IO;
using System.Text;
...
private DataTable VarreXmlAvancado(XmlNodeList nodes,
DataTable Ceps)
{
foreach (XmlNode node in nodes)
{
if (node.Name.Trim() == "Heading")
{
object[] Row =
{
node.ChildNodes[0].InnerText,
node.ChildNodes[1].InnerText,
node.ChildNodes[2].InnerText,
node.ChildNodes[3].InnerText
};
Ceps.Rows.Add(Row);
}
this.VarreXmlAvancado(node.ChildNodes, Ceps);
}
return Ceps;
}
Nesse método estamos novamente varrendo o XML de forma recursiva, só que dessa vez estamos procurando pelo node Heading. Cada resultado retornado pela pesquisa virá dentro desse Node.