var ldr:URLLoader = new URLLoader();
ldr.addEventListener(Event.COMPLETE, onLoaad);
ldr.load(new URLRequest("oman.xml"));//or any script that returns xml
function onLoaad(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("<title2>" + title + "</title2>");
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("oman.xml");
req.data = data;
ldr.load(req);
}
function onSave(e:Event):void
{
trace(e.target.data);
}
这里我编写了ml结构的代码
<words>
<word>
<name>this</name>
<title>that</title>
</word>
</words>
但是这里没有更新......有没有替代方法呢?
答案 0 :(得分:1)
仅限URLLoader.load方法...加载数据。您无法通过调用URLLoader.load来保存内容。
如果您只处理本地内容(在您自己的计算机上),则可以使用FileReference类。如果您的XML存储在服务器上,则需要一些服务器端脚本来保存数据
答案 1 :(得分:1)
通过Flash修改文件的唯一方法是在Air或服务器端脚本中进行本地存储,并将修改传递给服务器(整个xml或只是更改),但无法远程修改xml文件。在它中,xml文件是静态结构,对于操作系统,它只是一个ASCII文件。