Как читать XML-теги и их данные, используя flex? - PullRequest
0 голосов
/ 28 апреля 2009

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

Ответы [ 3 ]

1 голос
/ 28 апреля 2009

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

0 голосов
/ 02 мая 2009

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

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

0 голосов
/ 29 апреля 2009

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

Вот пример:

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