Flex 读写xml文件的方法_Flex

来源:互联网 发布:lvs和nginx的区别 编辑:程序博客网 时间:2024/04/30 19:40


Flex读XML的方法:

方法一:

private function readXML1():void{var xmlFile:File = new File("file path");var stream:FileStream = new FileStream();stream.open(xmlFile, FileMode.READ);var xml:XML = XML(stream.readUTFBytes(stream.bytesAvailable));stream.close();}

方法二:

private function readXML2():void{var urlRequest:URLRequest = new URLRequest("xml file path");var urlLoader:URLLoader = new URLLoader(urlRequest);urlLoader.addEventListener(Event.COMPLETE,completeHandler);}private function completeHandler(event:Event):void{var xml:XML = new XML(event.target.data);trace(xml);}

Flex写XML的方法:

public static function writeXMLFile(xml:XML):void{var stream:FileStream = new FileStream();var xmlFile:File = new File("file path");var outputString:String = '<?xml version="1.0" encoding="utf-8"?>\n';outputString += xml.toXMLString();outputString = outputString.replace(/\n/g, File.lineEnding);stream = new FileStream();stream.open(xmlFile, FileMode.WRITE);stream.writeUTFBytes(outputString);stream.close();}

补充:可以通过WebService,HttpService以及RemoteObject等方式调用Java或C#等完成文件的读写操作。

Flex端:

<mx:Script>javaService.getOutStream(xml);</mx:Script><mx:RemoteObject id="javaService" destination="fileOutput" showBusyCursor="true"result="Alert.show('设置成功,请刷新浏览器!')" fault="Alert.show('文件输出错误!')"/>


Java端:

package util;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;public class setView {public boolean getOutStream(String str) {try {File f = new File("webapps/test/xml/example.xml");FileOutputStream fos = new FileOutputStream(f, false);OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");BufferedWriter bw = new BufferedWriter(osw);bw.write(str);bw.close();osw.close();fos.close();return true;} catch (Exception e) {e.printStackTrace();return false;}}}


config.xml添加配置

<destination id="fileOutput" channels="my-amf"><properties><source>util.setView</source></properties></destination>#Flex


0 0