我想解析C#中的以下XML結構。我想用貨幣創建一個List>。在C#中使用重複的元素名稱解析XML?
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
<gesmes:subject>Reference rates</gesmes:subject>
<gesmes:Sender>
<gesmes:name>European Central Bank</gesmes:name>
</gesmes:Sender>
<Cube>
<Cube time="2013-09-27">
<Cube currency="USD" rate="1.3537"/>
<Cube currency="JPY" rate="133.28"/>
<Cube currency="BGN" rate="1.9558"/>
<Cube currency="CZK" rate="25.690"/>
<Cube currency="DKK" rate="7.4573"/>
(....)
我試過使用XDocument.Descendants,但它沒有返回任何東西。我猜這與Cube元素在幾個層面上使用的事實有關。
XDocument xdoc = XDocument.Parse(xml);
var currencies = from cube in xdoc.Descendants("Cube")
select new
{
Currency = cube.Attribute("currency").Value,
Rate = cube.Attribute("rate").Value
};
foreach (var currency in currencies)
this.Add(new KeyValuePair<string, double>(currency.Currency, Convert.ToDouble(currency.Rate)));
如何解析XML結構以獲取貨幣?
與ECB完全相同的文件具有相同的問題時可以完成:)非常感謝@ L.B - 工作正常 – CeOnSql