xml - Need help with XMLList in Flex -


i have xml following structure, example

<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> 

all children have name "node". need xmllist (or xml, no matter), same hierarchy, containing nodes flag "true".

the result need example is:

<root>     <node flag="true"/>     <node flag="true">         <node flag="true"/>         <node flag="true"/>     </node>     <node flag="true"/> </root> 

is there nice way using e4x (without iterating through loop)? tried following: xml.node.(@flag=="true"), result in case is:

<root>         <node flag="true"/>         <node flag="true">             <node flag="false"/> <!--need kill node-->             <node flag="true"/>             <node flag="false"/> <!--need kill node-->             <node flag="true"/>         </node>         <node flag="true"/>     </root> 

any ideas? thank you!

here 1 liner in e4x ask :

xml..node.((@flag=="false") && (delete parent().children()[valueof().childindex()])) 

it delete node current xml pay attention have copy of current xml.

by way should know e4x loop under hood, , 1 liner not faster custom loop.

var xml:xml=<root>     <node id="1" flag="false"/>     <node id="2" flag="true"/>     <node id="3" flag="false"/>     <node id="4" flag="false"/>     <node id="5" flag="true">         <node id="5.1" flag="false"/>         <node id="5.2" flag="true"/>         <node id="5.3" flag="false"/>         <node id="5.4" flag="true"/>     </node>     <node id="6" flag="true"/>     <node id="7" flag="false">         <node id="7.1" flag="false"/>         <node id="7.2" flag="true"/>         <node id="7.3" flag="false"/>         <node id="7.4" flag="true"/>     </node>     <node id="8" flag="false"/> </root>  trace("-- before --") trace(xml.toxmlstring())  xml..node.((@flag=="false") && (delete parent().children()[valueof().childindex()]))   trace("\n-- after --") trace(xml.toxmlstring()) 

Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -