Как читать XML-теги и их данные, используя flex?

Мне нужно прочитать теги XML и его данные из одного файла, а затем записать его в другой XML.. Как это сделать?? пожалуйста, дайте мне знать немедленно...?

3 ответа

См. http://livedocs.adobe.com/flex/2/langref/XML.html. Мне трудно поверить, что ты погуглил это, прежде чем спросить.

Вы можете использовать метод FileReference.save() для сохранения данных XML в локальный файл. Он предложит пользователю указать место для сохранения файла, а затем сохранить данные.

Вот пример:

var xml:XML = <root><someXmlTag/></root>;
var fileReference:FileReference = new FileReference()
fileReference.save(xml, "myfile.xml");

Насколько я знал, 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-файл, назначить его переменной и записать его, используя метод Бена. Вы также можете создать массив из отдельных значений, как я объяснил выше, и вручную вставить теги и тому подобное, если вам нужно. Преимущество этого состоит в том, что у вас есть все значения, готовые в массиве, они понадобятся вам позже. Если вы перебираете индексы, это не потребует много работы, и я бы так и сделал.

Надеюсь это поможет!

Другие вопросы по тегам