【发布时间】:2014-03-21 01:17:00
【问题描述】:
这是我从 XML 中检索元素的代码:
private async Task<XElement> PostAsXmlRequestAsync(XElement parameter, CancellationToken responseToken)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(Constants.url);
HttpResponseMessage responseMessage = await client.PostAsXmlAsync(Constants.uri, parameter, responseToken);
string responseContent = await responseMessage.Content.ReadAsStringAsync();
XElement responseXml = XElement.Parse(responseContent);
**bool hasElement = responseXml.Elements("Warnings").Any();
Console.WriteLine(hasElement);**
return responseXml;
}
}
responseXml 有一个Warnings 元素,但hasElement 始终是false。
这是来自响应的示例 XML:
<OTA_VehAvailRateRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" Target="Qual" Version="2.007">
<Success />
<Warnings>
<Warning Type="1" ShortText="FOR RENTERS UNDER 25 YRS OF AGE SEE KEYWORD AGE" RecordID="201" />
</Warnings>
<VehAvailRSCore>
<VehRentalCore PickUpDateTime="2014-05-01T10:00:00-05:00" ReturnDateTime="2014-05-03T10:00:00-05:00">
<PickUpLocation ExtendedLocationCode="LAXT15" LocationCode="LAX" />
<ReturnLocation ExtendedLocationCode="LAXT15" LocationCode="LAX" />
</VehRentalCore>
</VehAvailRSCore>
</OTA_VehAvailRateRS>
【问题讨论】:
标签: c# asp.net asynchronous xelement async-await