I've got a tree which, as it's dataprovider, uses a child of an xml document. When I add a new node as a child of the tree's dataprovider, the dataprovider is reassigned and becomes an XMLList containing all the siblings of the original dataprovider. It works as expected in Flex 2.0.1 Hotfix 3. I see the error using Flex Builder 3.
Does anyone know if I am accessing/updating the xml in an incorrect way? Or is this a bug that needs to be logged? <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > <mx:Button label="Load DP" click="addDP()" /> <mx:Button label="Add Node" click="addNode()" /> <mx:Tree id="tree" dataProvider="{foo}" labelField="@label" width="300" height="300" /> <mx:Script><![CDATA[ import mx.collections.XMLListCollection; private var rootXML:XML= <Node label='Root'> <Node label='Foo' /> <Node label='Bar' /> <Node label='Baz' /> </Node>; // Use this function to execute the databinding on the tree private function addDP():void { dispatchEvent(new Event('dpLoaded')); } [Bindable("dpLoaded")] private function get foo():XMLListCollection { return new XMLListCollection( new XMLList( rootXML.child(0) ) ); } private function addNode():void { var dp:XMLListCollection = XMLListCollection(tree.dataProvider); var root:XML = dp.getItemAt( 0 ) as XML; var coll:XMLListCollection = new XMLListCollection( root.children() ); coll.addItem( <Node label='New Node' /> ); } ]]></mx:Script> </mx:Application>

