首页 新闻 赞助 找找看

处理webservice返回值的问题

0
悬赏园豆:30 [已解决问题] 解决于 2013-03-17 10:18

通过soap方式访问代码如下

WebServiceSoapClient client = new WebServiceSoapClient();
XElement xml = client.qryCKHTR(startDate, endDate);

qryCKHTR是对方提供的方法,传开始时间和结束时间,返回的值是XElement类型的。

通过调试获取的 xml 等于如下格式:

<content xmlns="http://microsoft.com/webservices/">
  <cnt>2</cnt>
  <rows>
    <actno>6327113604259303358</actno>
    <name>小刘</name>
    <hdate>20130312</hdate>
    <seqno>00025000000118</seqno>
    <txamt>100</txamt>
    <dscpt>汇兑</dscpt>
  </rows>
  <rows>
    <actno>6327113604259303358</actno>
    <name>小李</name>
    <hdate>20130312</hdate>
    <seqno>BB000200000479</seqno>
    <txamt>100</txamt>
    <dscpt>汇兑</dscpt>
  </rows>
</content>

以如下方式处理为什么acountList总是获取不到rows的集合呢?而通过直接读取xml文件以下就能获取集合值。望高手们能给出处理代码。

var acountList = xml.Elements("rows").ToList();

bluefirework的主页 bluefirework | 初学一级 | 园豆:18
提问于:2013-03-15 21:09
< >
分享
最佳答案
0

因为有命名空间,大致要这么样写才可以

XNamespace ns = "http://microsoft.com/webservices/";
var query = content.Elements(ns + "rows");

 

收获园豆:30
陈希章 | 老鸟四级 |园豆:2538 | 2013-03-16 07:35

居然被这个小问题折腾了这么久,谢谢指点!

bluefirework | 园豆:18 (初学一级) | 2013-03-17 10:18

@bluefirework: 不少人都被这种命名空间折腾得不轻,呵呵

陈希章 | 园豆:2538 (老鸟四级) | 2013-03-17 12:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册