私のXMLファイルは、次のような構造で構成されています。
<root>
<Manager name="1">
<Manager name="2">
<Employee name="3">
</Manager>
<Manager name="abe">
</Manager>
<Employee name="4">
<Employee name="5">
</Manager>
</root>
XMLはツリービューをフィードし、ユーザーがツリービューのどこをクリックしたかに応じて、クリックされた従業員を取得するか(使用できるので簡単ですtreeview.SelectedNode
)、そうでない場合は、クリックがルートノードにあった場合、またはマネージャーノード、マネージャーの下の最初の従業員。
つまり
- をクリックすると、
root
の詳細が表示されますEmployee 4
(最初の従業員レコードはすぐ下Manager 1
にありますroot
)。 - をクリックすると、
Manager 1
も表示されEmployee 4
ます。 - クリックすると
Manager 2
が表示されEmployee 3
ます。 - クリック
Manager Abe
しても結果は得られません。 Employee 5
その従業員を直接クリックした場合にのみ表示されます。
Manager 1
彼の下に直接の従業員がいない可能性もあります。その場合、ルートをクリックすると、従業員がいる最初のマネージャーの下に最初の従業員が表示されます。したがって、仮定Employee 4
し、Employee 5
下になかった場合Manager 1
、ルートをクリックすると。が生成されEmployee 3
ます。
、、、のいくつかの異なるバリアントを使用してみElement
ましたがElements
、少し行き詰まっています。Descendant
Descendants
個々の組み合わせ(つまり、、および)ごとにシナリオを作成できると思いますがrootClicked
、managerClicked
これemployeeClicked
は私が最初に行ったことですが、コード的に保守しやすいものを探しています。
root.Element( "Employee")を使用すると役立つことを期待していましたが、Could not find an implementation of the query pattern for source type 'System.Xml.Linq.XEelement'. 'select' not found
エラーが発生しました。
誰かが私の問題を解決するために必要なその小さなナッジを私に提供することができますか?