将XML转换为数组list..C#

时间:2016-05-20 05:25:43

标签: c# asp.net .net xml

我有一个XML字符串



<Role name="Admin">
    <PermissionName>ViewEmployees</PermissionName>
    <PermissionName>EditEmployees</PermissionName>
</Role>
<Role name="HR Manager">
    <PermissionName>Shifts</PermissionName>
    <PermissionName>ViewShifts</PermissionName>
    <PermissionName>AddShifts</PermissionName>
    <PermissionName>DeleteShifts</PermissionName>
</Role>
&#13;
&#13;
&#13;

希望将其转换为数组列表。请帮助。

1 个答案:

答案 0 :(得分:3)

testString = "<root>" + testString + "</root>";    
XDocument doc = XDocument.Load(new StringReader(testString));
var arrayList = doc.Descendants("Role")
                .Select(a => new Role{
                    Name = a.Attribute("name").Value,
                    Permissions = a.Descendants("PermissionName").Select(x=> x.Value).ToList()
                }).ToArray();


public class Role{
public string Name{get;set;}
public List<string> Permissions{get;set;}
}

这是你在寻找什么?