qq70191 发表于 2015-5-12 10:47:12

windows phone 7 调用webService,返回DataSet的处理

调用WebServices返回的是DataSet,由于WP7不支持DataSet所以按照XML处理。  http://webservice.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx?op=getZipCodeByAddress
      theProvinceName:
      theCityName:
      theAddress:
      userID:
      返回XML:
  This XML file does not appear to have any style information associated with it. The document tree is shown below.


      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      黑龙江
      鸡西市
      城子河及所属各街道
      158100
      
      
      黑龙江
      鸡西市
      滴道区及所属各街道
      158100
      
      
      黑龙江
      鸡西市
      恒山区及所属各街道
      158100
      
      
      黑龙江
      鸡西市
      鸡冠区及所属各街道
      158100
      
      
      黑龙江
      鸡西市
      鸡冠区西郊乡
      158100
      
      
      黑龙江
      鸡西市
      梨树区及所属各街道
      158100
      
      
      黑龙江
      鸡西市
      安村付业队、义安村、安
      158130
      
      
      黑龙江
      鸡西市
      长胜村、薛家村、义安村
      158130
      
      
      黑龙江
      鸡西市
      村
      158130
      
      
      黑龙江
      鸡西市
      滴道河乡
      158130
      
      
      黑龙江
      鸡西市
      红旗乡所属义安村三队、义
      158130
      
      
      黑龙江
      鸡西市
      乐村、红旗村、张鲜村、
      158130
      
      
      黑龙江
      鸡西市
      民主乡
      158130
      
      
      黑龙江
      鸡西市
      四队、小恒山村及其余各
      158130
      
      
      黑龙江
      鸡西市
      村、南甸子村、全铁村
      158150
      
      
      黑龙江
      鸡西市
      滴道河乡所属王家村、河东
      158150
      
      
      黑龙江
      鸡西市
      鸡西市梨树乡
      158160
      
      
      黑龙江
      鸡西市
      长青乡及所属新华村、新城
      158170
      
      
      黑龙江
      鸡西市
      村、西城村、城西畜牧场
      158170
      
      
      黑龙江
      鸡西市
      及所属其余各村
      158170
      
      
      
        处理CS代码
               List zipinfos = new List();

            List list = e.Result.Nodes;
            string str = list.ToString();
            try
            {
                if (str.Contains("数据没有发现"))
                {
                  System.Windows.MessageBox.Show("数据没有发现");
                }
                else
                {
                  using (XmlReader reader = XmlReader.Create(new StringReader(str)))
                  {
                        Zipinfo zipinfo = null;
                        while (reader.Read())
                        {
                            if (reader.Name == "PROVINCE")
                            {
                              zipinfo = new Zipinfo
                              {
                                    province = reader.ReadInnerXml()
                              };
                            }
                            else
                            {
                              if (reader.Name == "CITY")
                              {
                                    zipinfo.city = reader.ReadInnerXml();
                                    continue;
                              }
                              if (reader.Name == "ADDRESS")
                              {
                                    zipinfo.address = reader.ReadInnerXml();
                                    continue;
                              }
                              if (reader.Name == "ZIP")
                              {
                                    zipinfo.zip = reader.ReadInnerXml();
                                    zipinfos.Add(zipinfo);
                              }
                            }
                        }
                  }
                }
            }
            catch (Exception exception)
            {
                if (str == null)
                {
                  System.Windows.MessageBox.Show("网络连接失败,请稍后再试!");
                }
                else
                {
                  System.Windows.MessageBox.Show(exception.Message);
                }
            }
            zipinfos.TrimExcess();
      


  
  
  
页: [1]
查看完整版本: windows phone 7 调用webService,返回DataSet的处理