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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.06.2010, 19:12
KirAmp вне форума Посмотреть профиль Найти все сообщения от KirAmp
  № 1  
Ответить с цитированием
KirAmp
Banned
[+4 10.07.10]
[+1.4 10.08.10]
[+1 20.08.10]

Регистрация: Jul 2009
Адрес: Саратов
Сообщений: 229
Отправить сообщение для KirAmp с помощью ICQ
По умолчанию чтение xml

Уважаемые флешеры, столкнулся с проблемой.
Я стал писать приложение для ВКонтакте и на выходе ихнее API дает xml файл вида:
Код:
<?xml version="1.0" encoding="utf-8"?>
<response list="true">
 <uid>4126</uid>
 <uid>481</uid>
 <uid>1843</uid>
 <uid>3829</uid>
</response>
Вопрос таков: как все id запихнуть в один массив (прочитать и запихнуть)

Спасибо за внимание!


Последний раз редактировалось KirAmp; 26.06.2010 в 19:20.
Старый 26.06.2010, 21:08
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 2  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
хмл класс позволяет трактовать ноды как элементы массива

Код AS3:
 public function XmlExample() {
            var employees:XML =
                <employees>
                    <employee ssn="123-123-1234">
                        <name first="John" last="Doe"/>
                        <address>
                            <street>11 Main St.</street>
                            <city>San Francisco</city>
                            <state>CA</state>
                            <zip>98765</zip>
                        </address>
                    </employee>
                    <employee ssn="789-789-7890">
                        <name first="Mary" last="Roe"/>
                        <address>
                            <street>99 Broad St.</street>
                            <city>Newton</city>
                            <state>MA</state>
                            <zip>01234</zip>
                        </address>
                    </employee>
                </employees>;
 
            trace(employees.employee[0].address.zip);   // 98765
 
            trace(employees.employee[1].@ssn);          // 789-789-7890
 
            trace(employees..zip[0]);                   // 98765
 
            trace(employees..@ssn[1]);                  // 789-789-7890

Старый 26.06.2010, 21:28
KirAmp вне форума Посмотреть профиль Найти все сообщения от KirAmp
  № 3  
Ответить с цитированием
KirAmp
Banned
[+4 10.07.10]
[+1.4 10.08.10]
[+1 20.08.10]

Регистрация: Jul 2009
Адрес: Саратов
Сообщений: 229
Отправить сообщение для KirAmp с помощью ICQ
ShockWave512 Огромное спасибо. Жаль что на АС3, но для тестов хватит

Старый 26.06.2010, 23:51
sniper007 вне форума Посмотреть профиль Отправить личное сообщение для sniper007 Найти все сообщения от sniper007
  № 4  
Ответить с цитированием
sniper007

Регистрация: Jun 2010
Сообщений: 30
KirAmp, не поленись, скачай любую книжку по AS2. там много интересного есть =)

Старый 27.06.2010, 00:42
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
""Жаль что на АС3, но для тестов хватит"" - это на АС2

Старый 27.06.2010, 14:28
KirAmp вне форума Посмотреть профиль Найти все сообщения от KirAmp
  № 6  
Ответить с цитированием
KirAmp
Banned
[+4 10.07.10]
[+1.4 10.08.10]
[+1 20.08.10]

Регистрация: Jul 2009
Адрес: Саратов
Сообщений: 229
Отправить сообщение для KirAmp с помощью ICQ
in4core
1) public function
2) Непомню, чтобы в АС2 можно было бы вбивать хмл таким образом
3) Так же автор написал в теге [AS3.]

Старый 27.06.2010, 14:36
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 7  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Ну вот тупо парсер ответов контакта кидаю. Все неоптимально и некрасиво, но ряд моментов по работе с XML конструктивами применительно к контактовским ответам есть.

_level0.LDP - клип с прогресс-баром загрузчика. Там есть текстовое поле stat

Код AS1/AS2:
	static function doParse(SV:String, field:String)		// Парсер ответов Контакта
	{		
		var xml_str:String = SV
		var my_xml:XML = new XML()
		my_xml.ignoreWhite = true
		my_xml.parseXML(xml_str)
		var node = my_xml.firstChild	
 
		if ( ( node.attributes.list != undefined && node.attributes.list != "true" ) || node.nodeName == "error" ) 
		{ 
			 _level0.LDP.stat.text = "API OPERATION ERROR: "+field;
		}
		else
		{
			_level0.LDP._visible = false
		}
 
		var users:Array = new Array()
		var friends:Array = new Array()
		var aDDS:Array = new Array()
 
		for (var i=0; i<node.childNodes.length; i++)
		{
			if (node.childNodes[i].nodeName=="user") 		// Распарсивание ответа ЮзерПрофиль
			{
				var user = users[users.length] = new Object()
 
				for (var j=0; j<node.childNodes[i].childNodes.length; j++)
				{
					var xnode = node.childNodes[i].childNodes[j] 
					user[xnode.nodeName] = xnode.firstChild.nodeValue					
				}			
 
				var tmpNick = user.nickname
				if ( tmpNick == undefined || tmpNick =="" ) 
				{
					user.nickname = user.first_name +" "+user.last_name				
				}
 
 
			}
 
			if ( node.childNodes[i].nodeName=="balance")	// Баланс приложения
			{
				var appBalance = node.childNodes[i].firstChild.nodeValue
			}
 
			if (node.childNodes[i].nodeName=="uid") 		// Распарсивание ответа друззя прилажения
			{
				friends[friends.length] = node.childNodes[i].firstChild.nodeValue		
			}
 
			if (node.childNodes[i].nodeName=="ad") 			// Распарсивание ответа РЕКЛАМНЫЙ МОДУЛЬ
			{
				var addModule = aDDS[aDDS.length] = new Object()
 
				for (var j=0; j<node.childNodes[i].childNodes.length; j++)
				{
					var xnode = node.childNodes[i].childNodes[j] 
					addModule[xnode.nodeName] = xnode.firstChild.nodeValue					
				}					
 
			}			
		}
 
 
		switch ( field )
		{
 
		case "user":			// --------- parse user profile section
			return users
		break;	
		case "balance":			// --------- parse user profile section
			return appBalance
		break;	
		case "uid":				// --------- parse user profile section
			return friends
		break;
		case "ad":				// --------- parse user profile section
			return aDDS
		break;		
 
		default : 
			trace("VKParser: Invalid Field")
			return "VKParser_Field_Erorr"
		break;	
		}
 
	}
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 27.06.2010, 15:09
KirAmp вне форума Посмотреть профиль Найти все сообщения от KirAmp
  № 8  
Ответить с цитированием
KirAmp
Banned
[+4 10.07.10]
[+1.4 10.08.10]
[+1 20.08.10]

Регистрация: Jul 2009
Адрес: Саратов
Сообщений: 229
Отправить сообщение для KirAmp с помощью ICQ
Спасибо! Буду разбираться

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

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

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


 


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


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