【发布时间】:2014-04-12 02:05:16
【问题描述】:
我正在从 Web 服务接收以下 SOAP 响应。
<soap:Body>
<SubscriptionQueryResponse>
<Subscriptions>
<Subscription></Subscription>
<Subscription></Subscription>
</Subscriptions>
<TotalCount>2</TotalCount>
<ResultCount>2</ResultCount>
<StartingSequence>0</StartingSequence>
</SubscriptionQueryResponse>
</soap:Body>
我需要获取总数。
下面是我的代码:
[SoapDocumentMethod( "&&&", RequestElementName = "SubscriptionQueryRequest", RequestNamespace = "&&&", ResponseNamespace = "&&&", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped )]
[return: XmlArray("Subscriptions")]
[return: XmlArrayItem("Subscription", IsNullable = false)]
public Subscription[] SubscriptionQuery(string SubscriberId, int SortType, bool SortDescending, string Service, string ReferenceID, string SubscriptionName, int StartingSequence, int ResultCount )
{
object[] results = this.Invoke( "SubscriptionQuery", new object[] {
SubscriberId,
SortType,
SortDescending,
Service,
ReferenceID,
SubscriptionName,
StartingSequence,
ResultCount
} );
return ( (Subscription[])( results[0] ) );
}
如您所见,我已经返回订阅。订阅列表位于返回数组的索引 0 中。我还想返回 Total Count 作为返回数组的索引 1,但 return XmlArray 语句只返回订阅并自动转换它们。
编辑:至少,我希望原始 XML 没有序列化它,我可以自己解析它。
注意:忽略 SoapDocumentMethod 中的“&&&”。我删除了它们的显示值。
【问题讨论】: