我有一个XML文件:
<machine id="">
<application id="">
<fichier name=""/>
<fichier name=""/>
<fichier name=""/>
</application>
<application id="">
<fichier name=""/>
<fichier name=""/>
<fichier name=""/>
</application>
</machine>
我知道机器和应用程序的ID以及fichier的名称。现在,我扫描所有机器,然后一旦找到,扫描应用程序,一旦找到,扫描fichier。相当长,所以我怎样才能快速达到我想要的那个?
答案 0 :(得分:2)
XmlDocument
的{{1}}中加载了XML,以下内容应该有效:
xmlDoc
PS:以上使用XPath,网上有几个教程(同时由另一个用户提到),但是如果你真的想学习如何使用它,试试一些关于XSLT的Jenni Tennison的书,她是一个优秀的解释者。
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以使用LINQ to XML执行此操作:
var result = from m in xml.Descendants("machine")
where m.Attribute("id").Value == "1"
let a = m.Elements("application").Where (x => x.Attribute("id").Value == "3")
let f = a.Elements("fichier").Where (x => x.Attribute("name").Value == "b")
select f;