SO : delete node from query
forked from SO : Dyn XML query (diff: 60)
ActionScript3 source code
/**
* Copyright pleclech ( http://wonderfl.net/user/pleclech )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/cHfy
*/
// forked from pleclech's SO : Dyn XML query
package {
import flash.events.Event;
import flash.utils.setTimeout;
import com.bit101.components.TextArea;
public class FlashTest extends TextArea {
public function FlashTest() {
width=400
height=400
setTimeout(doTest, 500)
}
public function deleteAllTag(xml:XML, tag:String):void{
xml.descendants(tag).(delete parent().children()[valueOf().childIndex()] );
}
public function doTest():void {
try {
var xml:XML = <breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>
two of our famous Belgian Waffles with plenty of real maple syrup
</description>
<calories>650</calories>
</food>
<food>
<name>Strawberry Belgian Waffles</name>
<price>$7.95</price>
<description>
light Belgian waffles covered with strawberries and whipped cream
</description>
<calories>900</calories>
</food>
<food>
<name>Berry-Berry Belgian Waffles</name>
<price>$8.95</price>
<description>
light Belgian waffles covered with an assortment of fresh berries and whipped cream
</description>
<calories>900</calories>
</food>
<food>
<name>French Toast</name>
<price>$4.50</price>
<description>
thick slices made from our homemade sourdough bread
</description>
<calories>600</calories>
</food>
<food>
<name>Homestyle Breakfast</name>
<price>$6.95</price>
<description>
two eggs, bacon or sausage, toast, and our ever-popular hash browns
</description>
<calories>950</calories>
</food>
</breakfast_menu>
xml..price.( delete parent().children()[valueOf().childIndex()] );
trace(xml);
trace();
deleteAllTag(xml, "name");
trace(xml);
} catch (e:*) {
trace(e);
}
}
public function trace(...args):void {
text=text+args.join(", ")+"\n"
}
}
}
