2015-04-01 4 views
0

У меня есть XML-файл, имеющее значение, я с помощью флэш-AIR приложения с Action Script3,Как обновить Значение узла в существующий файл XML Использование Flash AS3

<Home> 
    <Name>John</Name > 
    <RollNo>102</RollNo > 
    <Age>25</Age > 
    <Mark>70</Mark > 
</Home > 

Для чтения файла XML, я использовал

var xmlLoader:URLLoader = null; 
var xmlData:XML = new XML(); 
xmlLoader = new URLLoader(); 
xmlLoader.addEventListener(Event.COMPLETE, LoadingXMLData); 
xmlLoader.load(new URLRequest("Details.xml")); 

function LoadingXMLData(e:Event):void 
{ 
    xmlData = new XML(e.target.data); 
    ParseXML(xmlData); 
} 

function ParseXML(configData:XML):void 
{ 
    trace("XML Data : " + configData); 
} 

Я хочу обновить определенное значение узла. Как обновить значение в существующем файле XML.

для обновления значения я попробовал

xmlData.replace(xmlData.hostName,"Helooon"); 
trace("Updated XML Data : " + xmlData); 

Как написать это, чтобы существующий файл XML.

+0

Вы хотите написать/обновить файл на компьютере пользователя? Вы используете AIR? Если это так, вы можете сделать это достаточно легко, если у приложения есть разрешение. Если это не так, самое лучшее, что вы можете сделать, это открыть приглашение сохранить файл и указать пользователю сохранить поверх существующего файла. – BadFeelingAboutThis

+0

@LDMS: Да, я использую AIR. Я хочу обновить значение в существующем xml-файле –

+0

Хорошо, используйте классы 'File' и' FileStream'. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/File.html. Вы можете прочитать файл, используя класс файлов, а не URLLoader. Вот пример: http://www.adobe.com/devnet/air/flex/quickstart/articles/xml_prefs.html – BadFeelingAboutThis

ответ

0

Для того, чтобы сохранить XML в файле, необходимо использовать FileReference.save() в Flash Player, или File с FileStream.writeUTFBytes() в AIR.

EDIT: Я вижу ваш комментарий, что вы используете AIR, поэтому вы можете использовать класс File. Вот простой пример:

var file:File = File.documentsDirectory.resolvePath("Details.xml"); 
var stream:FileStream = new FileStream(); 
stream.open(file, FileMode.WRITE); 
stream.writeUTFBytes(xmlData); 
stream.close(); 

Обратите внимание, что, поскольку XML анализируется и перекодируется, форматирование может измениться. Вы можете управлять выходом форматирования с помощью XML static formatting properties.