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.