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
Post a Comment