Uralbeat
12.04.2015, 23:45
Здравствуйте!
В одной директории лежат два файла.
Первый file.xml с таким содержанием:
<xml>
<ABC>0</ABC>
</xml>
и file.swf :
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.FileReference;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.utils.ByteArray;
/**
* ...
* @author
*/
public class Main extends Sprite
{
public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var myXML:XML;
var myLoader:URLLoader = new URLLoader;
myLoader.load(new URLRequest("file.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void
{
myXML = new XML(e.target.data);
myXML.ABC = 1;
var ba:ByteArray = new ByteArray();
ba.writeUTFBytes(myXML);
myXML = XML(ba);
var fr:FileReference = new FileReference();
fr.save(ba, "file.xml");
}
}
}
}
таким образом пытаюсь изменить file.xml, всё бы хорошо, да только выскакивает dialogbox с запросом местоположения xml файла. Вот отсюда и вопрос: можно ли как-то изменять xml без этого окна? Может есть какой-то другой вариант?
В одной директории лежат два файла.
Первый file.xml с таким содержанием:
<xml>
<ABC>0</ABC>
</xml>
и file.swf :
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.FileReference;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.utils.ByteArray;
/**
* ...
* @author
*/
public class Main extends Sprite
{
public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var myXML:XML;
var myLoader:URLLoader = new URLLoader;
myLoader.load(new URLRequest("file.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void
{
myXML = new XML(e.target.data);
myXML.ABC = 1;
var ba:ByteArray = new ByteArray();
ba.writeUTFBytes(myXML);
myXML = XML(ba);
var fr:FileReference = new FileReference();
fr.save(ba, "file.xml");
}
}
}
}
таким образом пытаюсь изменить file.xml, всё бы хорошо, да только выскакивает dialogbox с запросом местоположения xml файла. Вот отсюда и вопрос: можно ли как-то изменять xml без этого окна? Может есть какой-то другой вариант?