2012-01-05 3 views
2

У меня есть файл XML, который я открываю и делаю некоторые изменения внутри своего приложения, и мне нужно сохранить его в новом файле.FLEX/AS3 - Сохранить XML в новом файле?

Теперь я использую этот код, чтобы сохранить его в том же файле:

var fs:FileStream = new FileStream(); 
fs.open(myOpenXML, FileMode.WRITE); 
fs.writeUTFBytes(myXMLString); 
fs.close(); 

Если я трассировать myXMLString я получаю правильное форматирование (новая строка для каждого объекта в XML), но когда я сохранить его все заканчивается на одной линии .. Как получилось? И я хочу сохранить в новый файл, как мне это сделать? (используя диалоговое окно сохранения).

Я использую Flash Builder. Flex, AS3, AIR ..

Спасибо большое за ваше время и помочь;)

+0

FileStream для сохранения в файл, Вы должны создать новый файл (flash.filesystem.File), изменение URL (по пролистать или разрешить старый файл и изменить имя) и сохранить двоичные данные. Для записи XML в файл используйте fs.writeUTF(); – turbosqel

ответ

0

Отвечу часть вашего вопроса, о сохранении в новый файл, используя окно Save Dialog. Для этого вы будете использовать FileReference.

Это фрагмент, который я скопировал из this article, который я предлагаю вам прочитать.

private var _loadFile:FileReference; 

private function startLoadingFile():void 
{ 
    _loadFile = new FileReference(); 
    _loadFile.addEventListener(Event.SELECT, selectHandler); 
    var fileFilter:FileFilter = new FileFilter("Images: (*.jpeg, *.jpg, *.gif, *.png)", "*.jpeg; *.jpg; *.gif; *.png"); 
    _loadFile.browse([fileFilter]); 
} 
+1

в AIR более полезно использовать класс файлов, не так ли? – turbosqel

+0

Да абсолютно. Класс 'File' расширяет класс' FileReference'. Извините, у меня сложилось впечатление, что это приложение AIR. :) –

+1

и File имеют метод browseForSave(), который может быть очень полезен в случае Stian. – turbosqel

Смежные вопросы