次の XML 構造があります。
<root>
<Level1 IsEnabled="0"> <!-- Disabled -->
<Level2 IsEnabled="1">
<Level3 IsEnabled="1">
<Level4 IsEnabled="1">
<Child /> <!-- Don't include this one -->
</Level4>
</Level3>
</Level2>
</Level1>
<Level1 IsEnabled="1">
<Level2 IsEnabled="1">
<Level3 IsEnabled="0"> <!-- Disabled -->
<Level4 IsEnabled="1">
<Child /> <!-- Don't include this one -->
</Level4>
</Level3>
</Level2>
</Level1>
<Level1 IsEnabled="1">
<Level2 IsEnabled="1">
<Level3 IsEnabled="1">
<Level4 IsEnabled="1">
<Child /><!-- Include this one -->
</Level4>
</Level3>
</Level2>
</Level1>
</root>
祖先のいずれにも IsEnabled="0" が含まれていないすべての子ノードを選択したいと考えています。したがって、上記の XML では、最後の子ノードのみを選択したいと考えています。さらに、祖先ノードに IsEnabled 属性が含まれていない場合でも、子を含める必要があります。