在C#中处理文件中的XML名称和值

sal*_*man 1 c# xml

我有一个xml文件,其中包含一些数据,如:

<?xml version="1.0" encoding="utf-8" ?>
<permission>
    <CP name="My Messages">
        <field name="name"/>
        <field name="age"/>
        <field name="ID"/>
    </CP>
    <field name="time"/>
    <CP name="My Attandance">
    </CP>    
</permission>
Run Code Online (Sandbox Code Playgroud)

通过使用我的winforms应用程序.我想让"My Messages"我的代码中的字段进一步使用,意味着我得到的值,甚至能够分配到字符串或作为控件名称,我也想知道它在C#代码中的总数,

Dar*_*rov 5

我个人喜欢使用XPath:

using System;
using System.Linq;
using System.Xml.Linq;
using System.Xml.XPath;

class Program
{
    static void Main()
    {
        var values = from field in XDocument.Load("test.xml")
                          .XPathSelectElements("//CP[@name='My Messages']/field")
                     where field.Attribute("name") != null
                     select field.Attribute("name").Value;
        Console.WriteLine("total values: {0}", values.Count());
        foreach (var value in values)
        {
            Console.WriteLine(value);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)