Listagem 08 da edição 36 da .net Magazine
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.