我有這樣的XML:C#中的LINQ to XML - 提取子元素的父母
<Root>
<RootKey>1</RootKey>
<ChildL1>
<ChildL1Key>12</ChildL1Key>
<Child2>
<Child2Key>TakeMe</Child2Key>
</Child2>
<Child2>
<Child2Key>365</Child2Key>
</Child2>
</ChildL1>
<ChildL1>
<ChildL1Key>95</ChildL1Key>
<Child2>
<Child2Key>958</Child2Key>
</Child2>
<Child2>
<Child2Key>574</Child2Key>
</Child2>
</ChildL1>
</Root>
我需要提取CHILD2其中Child2Key == 「TakeMe」 的父母。結果將是:
<Root>
<RootKey>1</RootKey>
<ChildL1>
<ChildL1Key>12</ChildL1Key>
<Child2>
<Child2Key>TakeMe</Child2Key>
</Child2>
</ChildL1>
</Root>
我可以做2個步驟。從Child2向上遍歷父進程並獲取它們的密鑰,並在下一步中使用其他密鑰刪除這些元素。如果可能,我寧願在一個查詢中執行。
爲什麼會'ChildL1Key'元素包括在內,而'RootKey'元素?那些不是'Child2Key'的直接祖先。 –
因爲他們是Child2的父母的一部分,正如我所說我需要提取。感謝投票。 – Yoav
@Yoav你需要xml作爲輸出,或只是數據? –