XML から特定のノードを取得するための LINQ クエリを作成するのに問題があります。誰かが助けてくれることを願っています。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
を無視して、5 つのタグ値すべてを指定します。Where
私は何が欠けていますか?