我在编写 LINQ 查询以从 XML 获取某些节点时遇到问题,希望有人能提供帮助。这是 XML:
<EmpFieldsMap>
<Field>
<Name insert = "false">EmpNumber</Name>
</Field>
<Field>
<Name insert = "true">EmpName</Name>
</Field>
<Field>
<Name insert = "true">EmpLocation</Name>
</Field>
<Field>
<Name update = "false">EmpAddress1</Name>
</Field>
<Field>
<Name update = "false">EmpAddress2</Name>
</Field>
<Field>
</EmpFieldsMap>
正如您所看到的,一些Name
标签具有该属性,insert
而另一些具有该update
属性。
我需要获取没有该insert
属性并具有insert
as的标签true
。意思是InsertCollection
应该有EmpName
, EmpLocation
, EmpAddress1
, 和EmpAddress2
。
这段代码:
var titles = from nameTag in xml.Element("EmpFieldsMap").Elements("Field")
let insert = nameTag.Attribute("insert") ?? new XAttribute("insert","true")
where insert.Value == "true"
select nameTag.Element("Name").Value;
给出忽略子句的所有五个Field
标记值。Where
我错过了什么?