2012-04-10 17 views
0

このクエリが機能しない理由はわかりません。MSTestファイル(* .trx)で動作しない単純なLinq to XMLクエリ

Assert.IsTrue(File.Exists(file)); 
XDocument doc = XDocument.Load(file); 
var res = from o in doc.Descendants("Counters") 
      select new 
      { 
       Total = (string)o.Attribute("total"), 
       Executed = (string)o.Attribute("executed"), 
       Passed = (string)o.Attribute("passed"), 
       Failed = (string)o.Attribute("failed") 
      }; 

Assert.IsTrue(res.Count() > 0); 

私は、ファイルが.trxファイルであることを確認し、ダブルチェックしました。私は脳のおならを持っているか、私は行方不明のものがありますか?

おかげで、ビル

+0

このテスト方法をデバッグして、XDocumentが正常に読み込まれているかどうかチェックしましたか? – MarcinJuraszek

答えて

1

要素を見つけていないクエリに対して最も可能性の高い理由は

XDocument doc = XDocument.Load(file); 
XNamespace df = doc.Root.Name.Namespace; 
var res = from o in doc.Descendants(df + "Counters") 
      select new 
      { 
       Total = (string)o.Attribute("total"), 
       Executed = (string)o.Attribute("executed"), 
       Passed = (string)o.Attribute("passed"), 
       Failed = (string)o.Attribute("failed") 
      }; 

は、あなたがしている結果が得られるかどうかを試すために照会するときに考慮されていないXMLのデフォルトの名前空間です探している。そうでない場合は、XMLのサンプルを投稿してください。

関連する問題