0

从 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>
4

1 回答 1

2

如果您正在构建基于浏览器的应用程序;您在客户端上所做的任何事情都不会将文件保存到特定的名称和位置。您必须将更新的文档发送到服务器进行保存。在我处理过的大多数服务器端语言中,很容易编写一个服务来做到这一点。

如果要将文件保存到客户端机器;您可以使用FileReference.save()这样做。但是,这需要用户输入,并且无法保证用户将命名文件或放置文件的位置。

于 2012-10-10T19:27:13.570 回答