通过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();
因为有命名空间,大致要这么样写才可以
XNamespace ns = "http://microsoft.com/webservices/"; var query = content.Elements(ns + "rows");
居然被这个小问题折腾了这么久,谢谢指点!
@bluefirework: 不少人都被这种命名空间折腾得不轻,呵呵