在AS3 XML的工作是很容易的,所以對TheDarkIn1978的答案與一些代碼擴展:
創建XML對象:
var objs:XML = new XML(<objects />); // create the <objects /> node
// for your objects
var ball1:XML = new XML (<ball />); // create the <ball /> node
[email protected] = 12; // add 12 as an attribute named "xPos"
[email protected] = 42; // add 42 as an attribute named "yPos"
objs.appendChild(ball1); // add the <ball> node to <objects>
// an example of using variables in your xml
var name:String = "something";
var sx:XML = new XML(<{name} />); // creates a node <something />
使用TheDarkIn7878到AS3中的XML
類學習更多。
保存您的文件:
// saving out a file
var f:FileReference = new FileReference;
f.save(sx, "myXML.xml"); // saves under the name myXML.xml, "sx" being your root XML node
保存之前壓縮您的XML(大的XML文件,這樣可以節省很多):
// compressing before saving
var f:FileReference = new FileReference;
var bytes:ByteArray = new ByteArray;
bytes.writeUTFBytes(myXML); // "myXML" being your root XML node
bytes.compress(); // compress it
f.save(bytes, "myXML.xml");
加載在壓縮XML,解壓縮它,並檢索XML對象:
// uncompressing a compressed xml
var loader = new URLLoader;
loader.dataFormat = URLLoaderDataFormat.BINARY;
// listen for our events
loader.addEventListener(Event.COMPLETE, this._onLoad);
loader.addEventListener(IOErrorEvent.IO_ERROR, this._onFail); // not shown
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this._onSecurityError); // not shown
private function _onLoad(e:Event):void
{
var loader:URLLoader = e.target as URLLoader;
// get the data as a bytearray
var ba:ByteArray = loader.data as ByteArray;
// uncompress it
try
{
ba.uncompress();
}
catch (e:Error)
{
trace("The ByteArray wasn't compressed!");
}
// get our xml data
myXML = XML(ba);
}
我創建了一個簡單的工具來壓縮/解壓縮XML文件LES。如果你有興趣,你可以得到SWF和來源http://divillysausages.com/blog/xml_compressor_uncompressor
這絕對是太棒了,謝謝你的詳細解釋! – Befall
+1表示壓縮程序。從用戶@Lional – TheDarkIn1978
評論:「我看到這個頁面有關保存爲XML它完美 不過有點錯誤是在頁 他們 VAR‘F’:一個FileReference =新的FileReference; 文件。 .save('myXML',「myXML.xml」); //以名稱myXML.xml保存,「myXML」爲y 請將f改爲文件 並且''myXML「爲」sx「'。我在哪裏引用''f','myXML''「。 (*從即將刪除的答案*複製)。 –