查询所有XML元素的集合 [英] Query Collection of all XML Elements

查看:279
本文介绍了查询所有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>

我想将每个单数元素加载到一个集合中,即包括ToolVersionResult等的一个集合.从那里,我想遍历每个元素/名称对,并取决于元素,做一些不同的事情:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆