急求,关于flex操作文件的问题

本人新人小菜鸟一只,目前刚开始学flex,上司交给一个关于XML文件处理的任务。要求就是选择一个XML文件,将其node名替换后以原文件名+_change保存在相同的路径下。保存文件的时候,按下输出按钮自动以新文件名保存在相同的路径下,不要求出现保存的对话框。本人目前只完成了node名的替换部分,剩下的做不出了,请各位大哥大姐们帮帮我,最好是把代码写出来让我学习一下,本人刚接触编程就是学flex,感觉好难。本人QQ:78716799.有大侠愿意不吝赐教就加我吧。有机会我请吃大餐。
本人目前完成的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                                           xmlns:s="library://ns.adobe.com/flex/spark"
                                           xmlns:mx="library://ns.adobe.com/flex/mx"
                                           fontSize="15" height="280" width="750">
        <fx:Script>
                <![CDATA[
                        import flash.events.Event;
                        import flash.events.FileListEvent;
                        import flash.events.IOErrorEvent;
                        import flash.filesystem.File;
                        import flash.filesystem.FileMode;
                        import flash.filesystem.FileStream;
                        import flash.net.URLLoader;
                        import flash.net.URLRequest;
                        import flashx.textLayout.tlf_internal;
                        import mx.collections.ArrayCollection;
                        import mx.controls.Alert;
                        import mx.rpc.events.ResultEvent;               
                        private function XmlFileSel(titleStr:String):void{
                                var fileToOpen:File = File.documentsDirectory;
                                selectTextFile(fileToOpen);
                                function selectTextFile(root:File):void{
                                        var xmlFilter:FileFilter = new FileFilter("*.xml","*.xml");
                                        root.browseForOpen("", [xmlFilter]);
                                        root.addEventListener(Event.SELECT, fileSelected);
                                }                                
                        }  
                        private function fileSelected(e:Event):void {
                                URLID.text = File(e.target).nativePath;
                                var myXML:XML = new XML();
                                var XML_URL:String = (URLID.text.toString());
                                var myXMLURL:URLRequest = new URLRequest(XML_URL);
                                var myLoader:URLLoader = new URLLoader(myXMLURL);
                                myLoader.addEventListener("complete", xmlLoaded);
                                var filename:String=(name.toString());
                                trace(filename);
                                function xmlLoaded(event:Event):void
                                {
                                        myXML = XML(myLoader.data);
                                        var str1:String =(myXML.toString());                                       
                                        var myXML1:RegExp=/MessageList/g;                                       
                                        var str2:String=str1.replace(myXML1, "List");                                       
                                        var myXML2:RegExp=/Ms**/g;                                       
                                        var str3:String=str2.replace(myXML2,"Code");                                       
                                        var myXML3:RegExp=/MsgKbn/g;                                       
                                        var str4:String=str3.replace(myXML3,"Type");        
                                        var myXML4:RegExp=/Message/g;                                       
                                        var str5:String=str4.replace(myXML4,"Msg");                                       
                                        var myXML5:RegExp=/Detail/g;                                       
                                        var str6:String=str5.replace(myXML5,"Dtl");
                                        var myXML6:RegExp=/DetailOpend/g;                                       
                                        var str7:String=str6.replace(myXML6,"DtlOpend");                                       
                                        var myXML7:RegExp=/BtnPtn/g;                                       
                                        var newXML:String=str7.replace(myXML7,"Btn");
                                        trace(newXML);
                                }
                        }
                        private function XmlFlieSave(titleStr:String):void{
                                var file:File = new File();
                                file.browseForSave(titleStr); //browse                                
                                file.addEventListener(Event.SELECT, selSave);
                        }
                        private function selSave(e:Event):void{
                                var newFile:File = e.target as File;
                                var str:String = "";
                                if(!newFile.exists){
                                        var stream:FileStream = new FileStream();
                                        stream.open(newFile, FileMode.WRITE);
                                        stream.writeUTFBytes(str);
                                        stream.close();
                                }
                        }
                        
                ]]>
        </fx:Script>        
        <mx:Label text="XML文件选择" x="33" y="58" width="140"/>
        <mx:Button id="butFileID" y="88" label="选择文件" click="XmlFileSel('');" x="544"/>
        <mx:TextInput id="URLID" y="87" width="480" x="33"/>
        <mx:Button id="butSaveID" y="88" label="输出" click="XmlFlieSave('');" x="663"/>
</s:WindowedApplication>




这篇文章书写于(www.ccflash.com)详细参考以上网站.

FLA  
Trackback

本文到目前为止有0条评论

添加评论