【原創(chuàng)】flex in action (三)flex對xml數(shù)據(jù)進行處理二

          本講的一個重點。ArrayCollection對一個字段的一個數(shù)據(jù)的取得:xmls.getItemAt(0).name.toString()。
          這東西弄了我很久,大概是受Java的影響吧。
          首先編寫xml。在src下建立xml文件夾,然后建立一個student.xml的文件。
          文件內(nèi)容:

           1 <?xml version="1.0" encoding="UTF-8"?>
           2 <persons>
           3     <person>
           4         <name>金浩</name>
           5         <sex>man</sex>
           6         <age>23</age>
           7         <clazz>數(shù)學(xué)一班</clazz>
           8     </person>
           9     
          10     <person>
          11         <name>張偉</name>
          12         <sex>man</sex>
          13         <age>22</age>
          14         <clazz>英語四班</clazz>
          15     </person>
          16         <person>
          17         <name>蔣天傲</name>
          18         <sex>man</sex>
          19         <age>23</age>
          20         <clazz>計算四班</clazz>
          21     </person>
          22     
          23     <person>
          24         <name>熊敏之</name>
          25         <sex>man</sex>
          26         <age>23</age>
          27         <clazz>計算機一班</clazz>
          28     </person>
          29         <person>
          30         <name>熊超</name>
          31         <sex>man</sex>
          32         <age>23</age>
          33         <clazz>計算二班</clazz>
          34     </person>
          35     
          36     <person>
          37         <name>張洋</name>
          38         <sex>woman</sex>
          39         <age>22</age>
          40         <clazz>英語四班</clazz>
          41     </person>
          42         <person>
          43         <name>朱宇</name>
          44         <sex>man</sex>
          45         <age>23</age>
          46         <clazz>英語一班</clazz>
          47     </person>
          48     
          49     <person>
          50         <name>夏政</name>
          51         <sex>man</sex>
          52         <age>23</age>
          53         <clazz>計算機四班</clazz>
          54     </person>
          55 </persons>

          上面都我大學(xué)同學(xué)。呵呵.
          然后就是建立一個mxxml application。
          添加一個panel,八個label,2個button。
          如:圖。

          代碼:
           1 <?xml version="1.0" encoding="utf-8"?>
           2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="xmlData.send()">
           3 <mx:HTTPService id="xmlData" url="xml/student.xml" result="resultHand(event)">
           4 </mx:HTTPService>
           5     <mx:Script>
           6         <![CDATA[
           7             import mx.controls.Alert;
           8             import mx.collections.ArrayCollection;
           9             import mx.rpc.events.ResultEvent;
          10         [Bindable]
          11             private var xmls:ArrayCollection = new ArrayCollection();
          12         [Bindable]
          13             public var i:int = 0;
          14             
          15             private function resultHand(event:ResultEvent):void{
          16                 xmls = event.result.persons.person;
          17             }
          18 
          19             private function upClick():void{
          20                 if(i == 0){
          21                     Alert.show("已經(jīng)是第一個同學(xué)了");
          22                 }else
          23                     i--;
          24             }
          25             private function downClick():void{
          26                 if(i == xmls.length-1){
          27                     Alert.show("已經(jīng)是最后一個同學(xué)了");
          28                 }else
          29                     i++;
          30             }
          31         ]]>
          32     </mx:Script>
          33     
          34     <mx:Panel x="160" y="75" width="291" height="296" layout="absolute" 
          35         title="學(xué)生信息" id="message" fontSize="14" fontWeight="bold" fontStyle="normal">
          36         <mx:Label x="49.5" y="39" text="姓名:"/>
          37         <mx:Label x="49.5" y="70" text="年齡:"/>
          38         <mx:Label x="49.5" y="101" text="性別:"/>
          39         <mx:Label x="49.5" y="132" text="班級:" width="50"/>
          40         <mx:Button x="49.5" y="183" label="上一個" id="up" click="upClick()"/>
          41         <mx:Button x="150.5" y="183" label="下一個" id="down" click="downClick()"/>
          42         <mx:Label x="116.5" y="39" width="105" id="nam" text="{xmls.getItemAt(i).name.toString()}"/>
          43         <mx:Label x="116.5" y="70" width="105" id="age" text="{xmls.getItemAt(i).age.toString()}"/>
          44         <mx:Label x="116.5" y="101" width="105" id="sex" text="{xmls.getItemAt(i).sex.toString()}"/>
          45         <mx:Label x="116.5" y="132" width="105" id="clazz" text="{xmls.getItemAt(i).clazz.toString()}"/>
          46     </mx:Panel>
          47 
          48 </mx:Application>
          49 
          沒做注釋是因為覺得太簡單了。呵呵。
          查詢:

          當(dāng)?shù)阶詈笠粋€的時候,彈出。對話框。


          ok啦。在這個例子中我沒有在用MX:MODEL 調(diào)用xml文件了,而采用的是。MX:HTTPSERVICE.
          書上說的區(qū)別是,第一種方法把xml數(shù)據(jù)“固化”到swf中了,
          這一點沒有去深究。
          而第二中則采用的是,只有再調(diào)用的時候才去。
          現(xiàn)在做個測試。
          如果我在運行的情況下,在xml上增加,刪除一個同學(xué),看會怎樣。
          剛做完測試,增加和刪除一個都對其沒有影響。
          不懂書上是什么個意思。還有使用ArrayCollection和Array的區(qū)別,網(wǎng)絡(luò)上說ArrayCollection可以動態(tài)的調(diào)整。
          如果我在程序中加入一個remove同學(xué)的話,ArrayCollection保證是執(zhí)行后的結(jié)果。
          這個就不做測試了。
          反正我是覺得現(xiàn)在這個demo很有用。

          posted on 2009-04-05 22:19 duduli 閱讀(2595) 評論(7)  編輯  收藏 所屬分類: Flex

          評論

          # re: 【原創(chuàng)】flex in action (三)flex對xml數(shù)據(jù)進行處理二 2009-04-05 23:24 onlysummer

          你這種圖文并茂的形式非常好,不過你最好講講如何用flex提交表單的形式生成一個xml文件,就是如何用flex添加同學(xué)信息。  回復(fù)  更多評論   

          # re: 【原創(chuàng)】flex in action (三)flex對xml數(shù)據(jù)進行處理二 2009-04-05 23:24 onlysummer

          謝謝阿  回復(fù)  更多評論   

          # re: 【原創(chuàng)】flex in action (三)flex對xml數(shù)據(jù)進行處理二 2009-04-06 09:27 duduli

          慢慢來,還有e4x解析xml沒有做。再后來就是用flex和Java進行交互,或許有能力的話,可能出個視頻吧。給入門的人員。@onlysummer
            回復(fù)  更多評論   

          # re: 【原創(chuàng)】flex in action (三)flex對xml數(shù)據(jù)進行處理二 2009-04-06 14:17 左洸

          Array 是真正的數(shù)據(jù),ArrayCollection 只是把 Array 包裝了一下,增加了一些訪問接口,最后處理的還是 Array  回復(fù)  更多評論   

          # re: 【原創(chuàng)】flex in action (三)flex對xml數(shù)據(jù)進行處理二 2009-04-07 08:49 張氏兄弟

          和java交互足夠的簡單了,你把httpservice的url寫成servelet或者jsp.或者action(struts),controller(spring)的訪問路徑就行了!
          你要是更酷一點,將這個地址寫在httml中,flex去調(diào)用html中的參數(shù),這樣子,你的flex就完全作為一個組件,可以隨意應(yīng)用了!  回復(fù)  更多評論   

          # re: 【原創(chuàng)】flex in action (三)flex對xml數(shù)據(jù)進行處理二 2009-04-07 13:05 duduli

          才接觸幾天,技術(shù)還沒有達(dá)到那么高深的地步。發(fā)布下一個,e4x和樹形結(jié)構(gòu)@張氏兄弟
            回復(fù)  更多評論   

          # re: 【原創(chuàng)】flex in action (三)flex對xml數(shù)據(jù)進行處理二 2009-04-23 17:26 Sange

          添加怎么實現(xiàn)呢?。  回復(fù)  更多評論   

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導(dǎo)航

          統(tǒng)計

          公告

          welcome to my place.

          常用鏈接

          留言簿(5)

          我參與的團隊

          隨筆分類

          隨筆檔案

          新聞分類

          石頭JAVA擺地攤兒

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          @duduli
          主站蜘蛛池模板: 泾源县| 二连浩特市| 仁化县| 丰城市| 资中县| 阳城县| 潮州市| 阿鲁科尔沁旗| 三河市| 南部县| 扶风县| 遵化市| 宝山区| 澄城县| 庆城县| 乌什县| 满洲里市| 光山县| 齐齐哈尔市| 当阳市| 松原市| 图们市| 鄂伦春自治旗| 浮梁县| 仪征市| 师宗县| 彩票| 灵山县| 徐州市| 津南区| 徐闻县| 晋城| 瓮安县| 铁岭市| 醴陵市| 景东| 会同县| 丽江市| 伊宁县| 托里县| 湟源县|