「サブノード」要素の無制限の子レベルを持つことができる「ノード」を含むこの XML スニペットを検討してください。
その属性に基づいて、特定@type
の の属性を見つけたいと思います。たとえば、id が 9 の場合、上記の type="foo" を返したいとします。node
subnode
@id
<xml>
<node type="bar">
<subnode id="4">
<subnode id="5"/>
</subnode>
<subnode id="6"/>
</node>
<node type="foo">
<subnode id="7">
<subnode id="8">
<subnode id="9"/>
</subnode>
</subnode>
<subnode id="10"/>
</node>
</xml>
私が思いついたE4Xですが、失敗するのは次のとおりです。
xml.node.(subnode.(@id == '8')).@type
なぜうまくいかないのか、なんとなくわかります。より理にかなっているのは次のとおりですが、構文は失敗します(AS3で):
xml.node.(..subnode.(@id == '8')).@type
これはどのように行うことができますか?