たとえば、次の構造の XML があります。
<root>
<node flag="false"/>
<node flag="true"/>
<node flag="false"/>
<node flag="false"/>
<node flag="true">
<node flag="false"/>
<node flag="true"/>
<node flag="false"/>
<node flag="true"/>
</node>
<node flag="true"/>
<node flag="false">
<node flag="false"/>
<node flag="true"/>
<node flag="false"/>
<node flag="true"/>
</node>
<node flag="false"/>
</root>
すべての子には「ノード」という名前があります。私が必要としているのは、同じ階層を持つ XMLList (または XML に関係なく) を取得することですが、フラグが「true」のノードのみが含まれています。
私の例に必要な結果は次のとおりです。
<root>
<node flag="true"/>
<node flag="true">
<node flag="true"/>
<node flag="true"/>
</node>
<node flag="true"/>
</root>
(ループを反復せずに) e4x を使用してこれを行う良い方法はありますか? xml.node.(@flag=="true") を実行しようとしましたが、この場合の結果は次のとおりです。
<root>
<node flag="true"/>
<node flag="true">
<node flag="false"/> <!--need to kill this node-->
<node flag="true"/>
<node flag="false"/> <!--need to kill this node-->
<node flag="true"/>
</node>
<node flag="true"/>
</root>
何か案は?ありがとうございました!