查询所有XML元素的集合 [英] Query Collection of all XML Elements
本文介绍了查询所有XML元素的集合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在寻找一个XML文件,并且能够搜索任何元素.
I'm looking to parse an XML file, and have the ability to search any element.
我的XML代码看起来很不传统(超出我的控制范围):
My XML code looks rather nontraditional (out of my control):
<DiagReport>
<LicensingData>
<ToolVersion>6.3.9431.0</ToolVersion>
<LicensingStatus>SL_LICENSING</LicensingStatus>
</LicensingData>
<Health>
<Result>PASS</Result>
<TamperedItems></TamperedItems>
</Health>
<Genuine>
<ServerProps>GenuineId</ServerProps>
</Genuine>
</DiagReport>
我想将每个单数元素加载到一个集合中,即包括ToolVersion
,Result
等的一个集合.从那里,我想遍历每个元素/名称对,并取决于元素,做一些不同的事情:
I'd like to load each singular element into a collection, i.e. one collection including ToolVersion
, Result
, etc. From there, I'd like to iterate through each element/name pair, and depending upon the element, do something different:
if (element.Equals(Result))
//do something with "PASS"
这可能与LINQ有关吗?
Is this possible to do with LINQ?
推荐答案
您可以使用LINQ to XML来遍历所有第二级元素:
You can use LINQ to XML to iterate through all second level elements:
var xdoc = XDocument.Load(@"C:\test.xml");
foreach (var element in xdoc.Element("DiagReport").Elements().Elements())
{
if (element.Name == "Result")
{
string value = element.Value;
}
}
这篇关于查询所有XML元素的集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文