0
获得母公司的项目我有一个简单的XML:Linq2Xml - 基于子女的属性值
<forms for="ApplicationTestSettings">
<form name="Parameter12Settings" title="Parameter12 Settings" url="/Parameter12Settings">
<roles>
<role name="Parameter12-Reader" />
<role name="Parameter12-Writer" can-add="1" can-edit="1" can-delete="0" />
</roles>
</form>
<form name="Parameter34Settings" title="Parameter 34 Settings" url="/Parameter34Settings">
<roles>
<role name="Parameter34-Reader" />
<role name="Parameter34-Writer" can-add="1" can-edit="1" can-delete="0" />
</roles>
</form>
</forms>
我需要根据角色元素的属性值的形式收集。我有一个列表:
List<string> roles = new List<string>();
roles.Add("Parameter12-Reader");
roles.Add("Parameter34-Writer");
我试图让使用此查询项目:
var forms = root.Descendants("form")
.Where(form => roles.Contains(form.Element("roles")
.Element("role")
.Attribute("name").Value)).ToList();
不幸的是这个查询只分析所有表单/角色块的第一个角色。任何人都可以告诉我,我该如何定义这个查询来获取所有表单元素,其中角色列表包含xml角色名称?
感谢, D.
谢谢,它工作得很好。 – Detonator