读书人

向Tree空间平添删除XML数据节点_Flex4

发布时间: 2012-10-20 14:12:48 作者: rapoo

向Tree空间添加删除XML数据节点_Flex4
Flex4控件例程: 基于HttpService的运用向Tree空间中添加和删除XML数据格式的节点操作

<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"><s:layout><s:VerticalLayout verticalAlign="middle" horizontalAlign="center"/></s:layout><fx:Script><![CDATA[import mx.controls.Alert;import mx.events.FlexEvent;import mx.rpc.events.ResultEvent;protected function http_resultHandler(event:ResultEvent):void{var result:XML = event.result as XML ;tree.dataProvider = result ;trace(result) ;}protected function addNode():void{// TODO Auto-generated method stubvar xml:XML = tree.selectedItem as XML ;if(xml.length()>0){var newNode:XML = <node /> ;newNode.@value=addItem.text ;xml.appendChild(newNode) ;}addItem.text = "" ;}protected function delNode():void{if(!tree.selectedItem.hasOwnProperty("CD")){tree.dataDescriptor.removeChildAt(tree.selectedItem.parent(),tree.selectedItem,tree.selectedItem.childIndex(),tree.dataProvider);}else{Alert.show("不能删除根节点","系统提示");}}]]></fx:Script><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --><!--<fx:XML source="data/cd.xml" format="e4x" id="data"/>--><s:HTTPService id="http" url="data/cd.xml" resultFormat="e4x" result="http_resultHandler(event)"/></fx:Declarations><mx:Tree id="tree" labelField="@value" width="300" height="400"></mx:Tree><s:Group width="304" height="27"><s:TextInput id ="addItem" x="0" y="5" height="100%" width="100"/><s:Button x="118" y="2" label="增加节点" enabled="{addItem.text!=''?true:false}" click="addNode()"/><s:Button x="224" y="2" label="删除节点"  enabled="{tree.selectedIndex==-1?false:true}" click="delNode()"/></s:Group></s:Application>


XML文件:
cd.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> <!--  Edited with XML Spy v2007 (http://www.altova.com)   --> <CDS value="Root"><CD value="CD1">  <TITLE value="TITLE">Empire Burlesque</TITLE>   <ARTIST value="ARTIST">Bob Dylan</ARTIST>   <COUNTRY value="COUNTRY">USA</COUNTRY>   <COMPANY value="COMPANY">Columbia</COMPANY>   <PRICE value="PRICE">10.90</PRICE>   <YEAR value="YEAR">1985</YEAR> </CD><CD value="CD2">  <TITLE value="TITLE">Hide your heart</TITLE>   <ARTIST value="ARTIST">Bonnie Tyler</ARTIST>   <COUNTRY value="COUNTRY">UK</COUNTRY>   <COMPANY value="COMPANY">CBS Records</COMPANY>   <PRICE value="PRICE">9.90</PRICE>   <YEAR value="YEAR">1988</YEAR> </CD><CD value="CD3">  <TITLE value="TITLE">Greatest Hits</TITLE>   <ARTIST value="ARTIST">Dolly Parton</ARTIST>   <COUNTRY value="COUNTRY">USA</COUNTRY>   <COMPANY value="COMPANY">RCA</COMPANY>   <PRICE value="PRICE">9.90</PRICE>   <YEAR value="YEAR">1982</YEAR>   </CD><CD value="CD4">  <TITLE value="TITLE">Still got the blues</TITLE>   <ARTIST value="ARTIST">Gary Moore</ARTIST>   <COUNTRY value="COUNTRY">UK</COUNTRY>   <COMPANY value="COMPANY">Virgin records</COMPANY>   <PRICE value="PRICE">10.20</PRICE>   <YEAR value="YEAR">1990</YEAR> </CD><CD value="CD5">  <TITLE value="TITLE">Eros</TITLE>   <ARTIST value="ARTIST">Eros Ramazzotti</ARTIST>   <COUNTRY value="COUNTRY">EU</COUNTRY>   <COMPANY value="COMPANY">BMG</COMPANY>   <PRICE value="PRICE">9.90</PRICE>   <YEAR value="YEAR">1997</YEAR> </CD><CD value="CD6">  <TITLE value="TITLE">One night only</TITLE>   <ARTIST value="ARTIST">Bee Gees</ARTIST>   <COUNTRY value="COUNTRY">UK</COUNTRY>   <COMPANY value="COMPANY">Polydor</COMPANY>   <PRICE value="PRICE">10.90</PRICE>   <YEAR value="YEAR">1998</YEAR> </CD></CDS>

读书人网 >flex

热点推荐