在LINQ to XML中获取具有特定属性的所有元素

时间:2012-01-09 16:29:46

标签: .net xml linq

我一直在玩一些linq到xml,我在解析http://www.nationalbanken.dk/dndk/valuta.nsf/valuta-hist.xml时遇到了一些问题,这是一个显示过去五天货币汇率的列表,以丹麦语显示。

我试图在这里获得所有“立方体”属性“currency”等于特定值。

到现在为止,我有以下内容:

Stream stream = e.Result;
        XDocument doc = XDocument.Load(stream);
        var _rd = (from x in doc.Descendants("Cube")
                     where x.Attribute("currency").Value.Equals(SelectedCurrency.Instance.CurrencyCode)
                     select x).ToList();

因为此类问题之前已经回答了很多次,但我无法确定它是否与元素名称的重复有关,因为我得到的只是一个空白。

1 个答案:

答案 0 :(得分:3)

您的问题是您没有使用名称空间来解析xml。

XNamespace ns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref";
var _rd = (from x in doc.Descendants(ns+"Cube")
           where x.Attribute("currency").Value.Equals(SelectedCurrency.Instance.CurrencyCode)
           select x).ToList();

这些方面应该有所作为。