我一直在玩一些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();
因为此类问题之前已经回答了很多次,但我无法确定它是否与元素名称的重复有关,因为我得到的只是一个空白。
答案 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();
这些方面应该有所作为。