我可以通过哪种函数或方法将新修改的数据保存到检索或加载它的xml文件中?

时间:2012-10-10 18:49:44

标签: actionscript-3 flex

在ActionScript3中从外部xml文件加载后,如何将修改后的数据保存到同一个xml文件中。

是否存在任何函数或方法或任何方法将修改后的数据再次保存在加载它的同一文件中。

import flash.net.URLRequest;

var myXML:XML = new XML();
var XML_URL:String = "sample.xml";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);

function xmlLoaded(event:Event):void
{               
    myXML = XML(myLoader.data);
    trace("Data loaded.");

trace(myXML); //showing output of just loaded xml file.

//process of adding new child node or property.
var newnode:XML = new XML(); 
    newnode =
        <student >
            <sname srno="2">mm</sname>
            <father tax="no">
                <fname>Ratan</fname>
                <focc>business man</focc>
                <mobno>9928946899</mobno>
            </father>
        </student>;

    myXML = myXML.appendChild(newnode);

trace(myXML); //showing o/p after being the child-node appended.
}

其中sample.xml文件位于同一工作路径中,仅包含以下数据.-

<data>
  <student srno="1" class="5" rollno="1">
    <sname>Rohan Jain</sname>
    <father tax="yes">
      <fname>Ronak Jain</fname>
      <focc>teacher</focc>
      <mobno>9928946899</mobno>
    </father>
  </student>
</data>

1 个答案:

答案 0 :(得分:2)

如果您正在构建基于浏览器的应用程序;您无法在客户端上执行任何操作将文件保存到特定的名称和位置。您必须将更新的文档发送到服务器以进行保存。在我处理的大多数服务器端语言中编写服务很容易。

如果要将文件保存到客户端计算机;你可以使用FileReference.save()这样做。但是,这需要用户输入,并且无法保证用户将文件命名为什么或者他们将文件放在何处。