Actionscript 3.0更新XML文件
问题描述:
有没有办法通过actionscript修改xml文档?我有裸露的XML文件,即Actionscript 3.0更新XML文件
<words>
<word>
<name>this</name>
<title>that</title>
</word>
</words>
我想通过actionscript在此文件中添加更多的单词。那可能吗?如果是,我应该看什么标签?
感谢, 雷克斯
答
您可以使用E4X在ActionScript 3来修改XML object。
以下是在AS3 Kirupa.com - Using XML in Flash CS3/AS3中使用XML的最佳指南。
首先,您需要将XML文档加载到SWF中,然后才能修改数据。要将其保存退出,您需要使用某种服务器端脚本,如下所示:actionscript.org - Sending XML data from AS3 to PHP。
答
var ldr:URLLoader = new URLLoader();
ldr.addEventListener(Event.COMPLETE, onLoad);
ldr.load(new URLRequest("file.xml"));//or any script that returns xml
function onLoad(e:Event):void
{
var loadedText:String = URLLoader(e.target).data;
trace(loadedText);
//create xml from the received string
var xml:XML = new XML(loadedText);
trace(xml.toXMLString());
//modify it
var word2:XML = <word/>;
var name:XML = <name/>;
name.appendChild("the name");
word2.appendChild(name);
var title:String = "asdasd";
word2.appendChild("<title>" + title + "</title>");
xml.appendChild(word2);
trace(xml.toXMLString());
//save it
var ldr:URLLoader = new URLLoader();
ldr.addEventListener(Event.COMPLETE, onSave);
//listen for other events here.
var data:URLVariables = new URLVariables();
data.xml = xml.toXMLString();
var req:URLRequest = new URLRequest("savexml.php");
req.data = data;
ldr.load(req);
}
function onSave(e:Event):void
{
trace("save success");
}
+0
感谢您带你的时间来编写代码...使它很容易理解.. – rex 2010-08-04 14:48:16
谢谢你告诉我的技术......现在我知道需要做。我试图修改与动作直接外部文件是什么?谢谢再次.. – rex 2010-08-04 14:49:57