我有一個XML結構:查詢不獲取所有記錄
<pit>
<ROW TestID="47855" ExecutionID="1510034507" TestName="USHP" AssertionName="Check News" Status="1" TestLatencyMs="5448" Date="2011-11-29 01:43:45.117" HttpCode="" Error="" TestOwner="mdk" AssertionID="119117" />
<ROW TestID="47855" ExecutionID="1510028579" TestName="USHP" AssertionName="Check News" Status="0" TestLatencyMs="7312" Date="2011-11-29 01:41:46.273" HttpCode="" Error="" TestOwner="fdxk" AssertionID="119117" />
<ROW TestID="47855" ExecutionID="1510022153" TestName="USHP" AssertionName="Check News" Status="0" TestLatencyMs="5860" Date="2011-11-29 01:39:44.153" HttpCode="" Error="" TestOwner="klo" AssertionID="119117" />
</pit>
,我嘗試使用此查詢來獲取我的ExecutionIDs但無濟於事:(我不知道什麼是錯
。List<int> executionIdList = new List<int>();
try
{
executionIdList = (from result in xDoc.Root.Descendants("ROW")
where result != null &&
result.Attribute("Status").Value.Equals("0", StringComparison.CurrentCultureIgnoreCase)
select result.Attributes("ExecutionID")).FirstOrDefault().Select(x => int.Parse(x.Value)).ToList();
}
我只得到與上述查詢的第一個值。
nope this doesnt work..I get this object reference exception with this – Navyseal
他可以選擇「行」,它會返回所有「行」元素的集合。 「坑」會返回父元素,你必須事後不必要地迭代。 –
我想我得到這個 executionIdList =(從結果xDoc.Root.Descendants( 「行」) 其中結果!= NULL && result.Attribute( 「狀態」)。Value.Equals( 「失敗」,StringComparison .CurrentCultureIgnoreCase) select int.Parse(result.Attribute(「ExecutionID」)。Value))。ToList(); – Navyseal