【发布时间】:2018-05-21 19:57:44
【问题描述】:
我创建了一个函数,该函数读取第三方 XML 文档以在任何给定日期获取欧元到英镑的兑换率,但是我的 linq 查询返回空值。
XML:
<therate xmlns="http://somecurrencysite.com">
<terms>someValue</terms>
<from>EUR</from>
<amount>1.0</amount>
<timestamp>2001-05-01T06:00:00Z</timestamp>
<to>
<rate>
<currency>GBP</currency>
<dayrate>0.619887217</dayrate>
</rate>
</to>
</therate>
C#:
var uri = "http://somecurrencysite.com?date=" + date.ToString("yyyy-MM-dd") + "&to=GBP";
decimal rate;
using (var client = new WebClient())
{
client.Credentials = new NetworkCredential("userName", "passWord");
try
{
var source = new MemoryStream(client.DownloadData(uri));
var xRdr = new XmlTextReader(source);
rate = XDocument.Load(xRdr)
.Descendants("rate")
.Select(e => (decimal)e.Element("dayrate"))
.FirstOrDefault();
}
catch (Exception ex)
{
Err.ErrMsg(ex);
throw;
}
}
return rate;
请有人帮我弄清楚我在这里缺少什么,
干杯。
【问题讨论】:
标签: c# xml linq linq-to-xml