Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 03.11.2007, 14:55
firedrago вне форума Посмотреть профиль Отправить личное сообщение для firedrago Найти все сообщения от firedrago
  № 1  
Ответить с цитированием
firedrago

Регистрация: Feb 2001
Сообщений: 9
Отправить сообщение для firedrago с помощью ICQ
Smile HTTPService > XML > ResultEvent > ArrayCollection

всем привет!
я сново застрял, помогите плс

значит так - забераю XML через HTTPService
Код:
<mx:HTTPService 
	id="mainData" 
	url="data/maindata.xml"
	result ="mainDataResultHandler(event)"
	/>
передаем в mainDataResultHandler
Код:
	
	adv1Data = ParseResult.getHomeAdv1Data(event);
	adv2Data = ParseResult.getHomeAdv2Data(event);
ParseResult выглядит так
Код:
	public class ParseResult{
		import mx.controls.Alert;
			import mx.rpc.events.ResultEvent;
			import mx.collections.ArrayCollection;
			import mx.collections.IViewCursor;
			import flash.utils.describeType;
	
	        public static function getWelcomeStr(event:ResultEvent):String{
        		return event.result.maindata.sysnavi.welcome;
        	}
        
 		
		public static function getHomeAdv1Data(event:ResultEvent):Array{
	return getStructureLevelData(event.result.maindata.home.adv1.item);	
}
			
		public static function getHomeAdv2Data(event:ResultEvent):Array{
		return getStructureLevelData(event.result.maindata.home.adv2.item);			
			}
			
			private static function getStructureLevelData(items:ArrayCollection):Array{
				var temp:ArrayCollection = new ArrayCollection();
				var img:String = "";
				var cursor:IViewCursor = items.createCursor();
		            while (!cursor.afterLast){
		            
		            	img = "";
		            	if(cursor.current.img != null){
		            		img = cursor.current.img;
		            	}
		            	temp.addItem({label:cursor.current.pageName, data:new Structure(cursor.current.id, cursor.current.template, cursor.current.pageName, img)});
		                cursor.moveNext();
		            }
		            return temp.toArray();	   
			}			
	}
XML -
Код:
<?xml version="1.0" encoding="UTF-8"?>7
<maindata>
	<sysnavi>
		<welcome>Welcome !</welcome>
	</sysnavi>
	<home>
		<adv1>
			<item id="id001" template="template001" pageName="#1" img="http://127.0.0.1:8080/gfx/img/ff808082144529eb0114457118ed0006.png"/>
			<item id="id001" template="template001" pageName="#1" img="http://127.0.0.1:8080/gfx/img/ff808082144529eb0114452b66e70005.png"/>
			<item id="id001" template="template001" pageName="#1" img="http://127.0.0.1:8080/gfx/img/ff808082147a6c0e01147ab9067d0025.png"/>
		</adv1>
		<adv2>
			<item id="id001" template="template001" pageName="#1" img="http://127.0.0.1:8080/gfx/img/ff808082153db79501153e29be180014.png"/>	
		</adv2>
	</home>
</maindata>
а теперь проблема
если я зарание знаю что в xml только String, как maindata.sysnavi.welcome то считываю через мой ParseResult и все ок.....
а то что мне совсем не понятно это ситуация с maindata.home.adv1.item и maindata.home.adv2.item - если элементов item > 1 то все ок, а если только один то оно просто умерает.... я так понимаю, что в этом случае идет возврат данных не как ArrayCollection....
вот собственно и вопрос, как в моем случае сделать так, что бы независимо от того сколько item в xml-Node правильно все парсилось....

зарание благодарен!

Создать новую тему   Часовой пояс GMT +4, время: 16:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:23.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.