Title: windows phone 7 calls network service and returns data set.
墨初 知识笔记 136阅读
调用网络服务并返回数据集。因为WP7不支持数据集,所以按照可扩展标记语言处理省名:城市名:地址:用户ID:并返回XML: ThisXML .数据集xmlns=' ' xs : schemax mlns=' ' xmlns : xs=' ' xmlns : ms data=' urn : schemas-Microsoft-com : XML-ms data ' id=' new dataset ' nbsp .xs :元素名称=' new dataset ' ms data : is dataset=' true ' ms data : usecurrentlocale=' true ' xs :复杂类型xs : choiceminoccurs=' 0 ' max occurs=' unbounded ' xs :元素名称=' ZipInfo ' xs :复杂类型xs 3360序列e xs :元素名称
a(0, 0, 255, 1)">="PROVINCE" type="xs:string" minOccurs="0"/><xs:element name="CITY" type="xs:string" minOccurs="0"/>
<xs:element name="ADDRESS" type="xs:string" minOccurs="0"/>
<xs:element name="ZIP" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<ZipInfo diffgr:id="ZipInfo1" msdata:rowOrder="0">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>城子河及所属各街道</ADDRESS>
<ZIP>158100</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo2" msdata:rowOrder="1">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>滴道区及所属各街道</ADDRESS>
<ZIP>158100</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo3" msdata:rowOrder="2">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>恒山区及所属各街道</ADDRESS>
<ZIP>158100</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo4" msdata:rowOrder="3">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>鸡冠区及所属各街道</ADDRESS>
<ZIP>158100</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo5" msdata:rowOrder="4">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>鸡冠区西郊乡</ADDRESS>
<ZIP>158100</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo6" msdata:rowOrder="5">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>梨树区及所属各街道</ADDRESS>
<ZIP>158100</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo7" msdata:rowOrder="6">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>安村付业队、义安村、安</ADDRESS>
<ZIP>158130</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo8" msdata:rowOrder="7">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>长胜村、薛家村、义安村</ADDRESS>
<ZIP>158130</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo9" msdata:rowOrder="8">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>村</ADDRESS>
<ZIP>158130</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo10" msdata:rowOrder="9">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>滴道河乡</ADDRESS>
<ZIP>158130</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo11" msdata:rowOrder="10">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>红旗乡所属义安村三队、义</ADDRESS>
<ZIP>158130</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo12" msdata:rowOrder="11">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>乐村、红旗村、张鲜村、</ADDRESS>
<ZIP>158130</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo13" msdata:rowOrder="12">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>民主乡</ADDRESS>
<ZIP>158130</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo14" msdata:rowOrder="13">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>四队、小恒山村及其余各</ADDRESS>
<ZIP>158130</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo15" msdata:rowOrder="14">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>村、南甸子村、全铁村</ADDRESS>
<ZIP>158150</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo16" msdata:rowOrder="15">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>滴道河乡所属王家村、河东</ADDRESS>
<ZIP>158150</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo17" msdata:rowOrder="16">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>鸡西市梨树乡</ADDRESS>
<ZIP>158160</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo18" msdata:rowOrder="17">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>长青乡及所属新华村、新城</ADDRESS>
<ZIP>158170</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo19" msdata:rowOrder="18">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>村、西城村、城西畜牧场</ADDRESS>
<ZIP>158170</ZIP>
</ZipInfo>
<ZipInfo diffgr:id="ZipInfo20" msdata:rowOrder="19">
<PROVINCE>黑龙江</PROVINCE>
<CITY>鸡西市</CITY>
<ADDRESS>及所属其余各村</ADDRESS>
<ZIP>158170</ZIP>
</ZipInfo>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
处理CS代码
List<Zipinfo> zipinfos = new List<Zipinfo>();

List<XElement> list = e.Result.Nodes;
string str = list[0].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();
string str = list[0].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();

标签: