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
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删