2012-04-10 69 views
0

我看不出爲什麼這個查詢不起作用。簡單的Linq到XML查詢不工作MSTest文件(* .trx)

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 2012-04-10 20:27:43

回答

1

的查詢沒有找到的元素,最可能的原因是在XML默認命名空間查詢,試圖

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樣本。