2012-01-23 27 views
1

我正在使用xml市場數據,我得到了幾乎相反的這個linq工作正常,但我想返回具有屬性「符號」,但有一個空的「LastTradeDate」的元素的計數,元件。下面的代碼返回0,但我知道他們在那裏。我想我會把所有的XML數據都歸咎於它可能很明顯是怎麼回事。下面是我得到了什麼:什麼是linq select語法來檢查包含空元素的xml數據?

XDocument doc = XDocument.Load(addressString); 
     XElement results = doc.Root.Element("results");  
var makeInfo = 
     (from s in doc.Descendants("quote") 
     where s.Element("LastTradeDate") == null 
     && s.Attribute("symbol") != null 
     select s.Attribute("symbol")).Count(); 
+0

你正在尋找的是有一個空的LastTradeDate元素」沒有一個LastTradeElement元素,或元素可能兩者 –

+0

@ThomasLevesque,但I型」? m明確尋找,我知道是有一個空元素 – StatsViaCsh

+0

好的,在這種情況下'元素(「LastTradeDate」)'不會返回null ... –

回答

1
XDocument doc = XDocument.Load(addressString); 
     XElement results = doc.Root.Element("results");  
var makeInfo = 
     (from s in doc.Descendants("quote") 
      let lastTradeDate = s.Element("LastTradeDate") 
      where (lastTradeDate == null || string.IsNullOrEmpty(lastTradeDate.Value)) 
      && s.Attribute("symbol") != null 
      select s.Attribute("symbol")).Count(); 
+0

這樣做,謝謝湯姆。 – StatsViaCsh

相關問題