2012-01-23 1 views
1

私はXMLの市場データを扱っていますが、このlinqのほぼ逆の結果が得られましたが、属性 "symbol"を持つ要素の数を返したいと思いますが、 "LastTradeDate"素子。以下のコードは0を返していますが、私は彼らがそこにいることを知っています。私は、すべてのXMLデータが、何が起こっているのかがはっきりしていると考えていることを思い出しました。 ?null要素を持つxmlデータをチェックするlinq select構文は何ですか?

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をおそらく両方の要素を持つ要素を探しているが、私は「タイプです:ここで私が持っているものです – StatsViaCsh

+0

OK、この場合、Element( "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

関連する問題