Насколько я знал, Flex не мог писать в файлы!
Я использую HTTPService для загрузки файла XML и обработчик результатов для доступа к нему.
<mx:HTTPService id="service" url="myXml.xml" result="ServiceResult (event)"/>
Не указывайте формат результата в теге HTTPService.
Это код обработчика события результата.
private function ServiceResult (e : ResultEvent) : void {
e.result.XmlTag.AnotherXmlTag;
}
Вы также можете использовать service.lastResult для доступа к последнему результату, возвращенному HTTPService. Результат полностью совместим со свойством dataProvider, особенно в массивах и рядах диаграмм.
var series : LineSeries = new LineSeries ();
series.dataProvider = e.result.XmlTag.AnotherXmlTag;
Это будет принимать значение во всех тегах AnotherXmlTag в XmlTag. Для рядов, однако, вы также должны указать либо yField, либо и xField, но это отступает: -)
Если это не сработает, вы также можете привести его, используя ключевое слово as, например:
series.dataProvider = e.result.XmlTag as ArrayCollection;
На самом деле я не пробовал приводить его в этом сценарии, но суть в том, что теги XML по-разному совместимы с массивами и ArrayCollections.
В вашем случае вы просто использовали бы e.result, чтобы получить полный XML-файл, присвоить его переменной и записать, используя метод Бена. Вы также можете создать массив из отдельных значений, как я объяснил выше, и вручную вставить теги и тому подобное, если вам нужно. Преимущество этого состоит в том, что у вас есть все значения, готовые в массиве, они понадобятся вам позже Если вы перебираете индексы, это не потребует много работы, и я бы так и сделал.
Надеюсь, это поможет!