特定の子要素の特定の親要素を取得する C# スクリプトの作成に問題があります。わかりやすくするために、これは XML ツリーの例です。
<parent attribute='X'>
<child_element1>A</child_element1>
<child_element2 attribute='Y'>
<grandchild_element1>B</grandchild_element1>
<grandchild_element2>
<key>C</key>
</grandchild_element2>
<grandchild_element3>D</grandchild_element3>
</child_element2>
<child_element3>E</child_element3>
</parent>
ツリーをトラバースすると、スクリプトは<key>
ノードを見つけました。私が作成しようとしているのは、次のツリーです。
<parent attribute='X'>
<child_element2 attribute='Y'>
<grandchild_element1>B</grandchild_element1>
<grandchild_element2>
<key>C</key>
</grandchild_element2>
<grandchild_element3>D</grandchild_element3>
</child_element2>
</parent>
ご覧のとおり、元のツリーで削除しようchild_element1
としています。child_element3
次のようにスクリプトの疑似コードを作成しましたが、これまでのところ、C# で実際のスクリプトを作成する方法を理解できていません。
- キー ノードの上にある 1 番目と 2 番目の親要素をすべて表示します。
grandchild_element2
key の最初の親であり、key のchild_element2
2 番目の親です。したがって、すべての要素が表示されます。 - 次の親レベルのキーと直接関係があるノード/要素のみを表示します。
parent
キーの 3 番目の親です。parent
key と直接関係のある要素は ですchild_element2
。したがって、のみchild_element2
が表示されます。child_Element1
これらはキーとchild_element2
直接関係がないため表示されません
<key>
私はstackoverflowで次の解決策を見てきましたが、残念ながら、それらはすべて、ノードの祖先である要素を表示するのではなく、すべての親要素を取得する方法のみを示しています.