-1

我正在尝试用 C# 编写一个程序来解析 XML 文件并查看多个元素的状态以找到一个失败的元素。我没有太多使用 XML 的经验,但做了一些研究并且有点卡住了。我将在下面发布一个示例 XML 文件以供参考。我想我会先检查每个组,看看哪个组失败,然后搜索该组的各个元素。

<Diagnostics ActionType="SPV" Ver="48">
  <StartTimestamp>2014-04-18 13:36:44Z</StartTimestamp> 
- <Iteration>
- <NODE1>
     <Device Name="A" Register="IDCODE" Status="PASSED"/> 
     <Device Name="B" Register="IDCODE" Status="PASSED"/> 
     <Device Name="C" Register="IDCODE" Status="PASSED"/> 
     <Device Name="D" Register="IDCODE" Status="PASSED"/> 
     <Device Name="E" Register="IDCODE" Status="PASSED"/> 
     <Device Name="F" Register="IDCODE" Status="PASSED"/> 
     <Device Name="G" Register="IDCODE" Status="PASSED"/> 
     <Device Name="H" Register="IDCODE" Status="PASSED"/> 
     <Device Name="I" Register="IDCODE" Status="PASSED"/> 
     <Status>PASSED</Status> 
  </NODE1>
- <NODE2>
     <Status>PASSED</Status> 
  </NODE2>
- <NODE3>
     <Status>PASSED</Status> 
  </NODE3>
- <NODE4>
     <Device Name="A" Register="IDCODE" Status="PASSED"/> 
     <Device Name="B" Register="IDCODE" Status="PASSED"/> 
     <Device Name="C" Register="IDCODE" Status="PASSED"/> 
     <Device Name="D" Register="IDCODE" Status="PASSED"/> 
     <Device Name="E" Register="IDCODE" Status="PASSED"/> 
     <Device Name="F" Register="IDCODE" Status="PASSED"/> 
     <Device Name="G" Register="IDCODE" Status="PASSED"/> 
     <Device Name="H" Register="IDCODE" Status="PASSED"/> 
     <Device Name="I" Register="IDCODE" Status="PASSED"/> 
     <Status>PASSED</Status> 
  </NODE4>
- <NODE5>
     <Device Name="E" Status="PASSED" /> 
     <Device Name="F" Status="PASSED" /> 
     <Device Name="H" Status="FAILED" /> 
     <Device Name="I" Status="PASSED" /> 
     <Status>FAILED</Status> 
  </NODE5>
  <Passed>False</Passed> 
 </Iteration>
 <EndTimestamp>2014-04-18 13:36:44Z</EndTimestamp> 
</Diagnostics>
4

1 回答 1

1

XmlNodeList 节点 = xmlDoc.SelectNodes("//Device[@Status='FAILED']");

于 2014-05-05T14:55:41.270 回答