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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2011, 00:17
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию совсем не XMLList а XML

Не могу понять как получить XMLList

есть xml ( структура)

Код:
<?xml?>
 <gall>
   <param>
     <group>
         <p/>
         <p/>
     </group>
   <param>
</gall>
Делаю.
Код AS3:
var list1 = xml.param; // is XMLList
            var list2 = list1.group // is XML  почему ???
__________________
Марк Tween

Старый 31.07.2011, 00:52
spooner вне форума Посмотреть профиль Отправить личное сообщение для spooner Найти все сообщения от spooner
  № 2  
Ответить с цитированием
spooner
 
Аватар для spooner

Регистрация: Mar 2009
Сообщений: 207
Цитата из хелпа
Цитата:
Если объект XMLList имеет только один элемент XML, методы класса XML можно применять к объекту XMLList напрямую.
Может это недоумение вызывает?

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Дело не в том, применить то можно - логично. Однако вопрос сотоит в том, что я хочу получить is XMLList а он не конвертируется, такое ощущение что в хелпе не дописали о том, что если 1 элемент - то это всегда XML, что странно.

И еще вопрос в догоночку

xml.*.@name вернет например name1name2name3 ( is XMLList ) есть ли какой то быстрый метод получить
var arr:Array = xml.*.@name ?
__________________
Марк Tween

Старый 31.07.2011, 01:15
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 4  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
тоже натыкался на это, но времени разобраться не было.

Старый 31.07.2011, 01:56
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
1. Я понятия не имею, как Вы так тестируете. Может надо было закрыть тег param? Или ответом будет стандартное "это я тут так написал, в коде у меня все правильно"...
Код AS3:
var xm:XML = 
<gall>
	<param>
		<group>
			<p/>
			<p/>
		</group>
	</param>
</gall>;
var list1:XMLList = xm.param;
trace("list1 is XMLList:", list1 is XMLList, ", list1 is XML:", list1 is XML); //list1 is XMLList: true , list1 is XML: false
var list2:XMLList = list1.group;
trace("list2 is XMLList:", list2 is XMLList, ", list2 is XML:", list2 is XML); //list2 is XMLList: true , list2 is XML: false
2. Не знаю, зачем, ну вот так к примеру:
Код AS3:
var xm:XML = 
<gall>
	<param>
		<group>
			<p name="width">1</p>
			<p name="height">2</p>
			<p name="height">3</p>
			<p name="width">4</p>
			<p name="width">5</p>
			<p name="width">6</p>
			<p name="height">7</p>
			<p name="height">8</p>
		</group>
	</param>
</gall>;
var arr:Array = xm..@name.toXMLString().split("\n");
trace(arr);
__________________
Reality.getBounds(this);

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
1й все нормально. тестируем так же. Тока xml грузим ( может разница есть?) Просто у тебя изначально XMLList хотя ты его к xml и приводишь. Param закрыт. писал просто быстро ты прав.

2. Ну затем чтобы не пробигаться по циклу например чтобы запушить каждый
__________________
Марк Tween

Старый 31.07.2011, 02:16
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
1. При Вашем "возрасте" во флэше пора бы использовать типизацию и писать код в ФД)))
2. Я имел в виду - "чем плох XMLList, что из него надо делать массив?". Впрочем, это уже как-то холиварили.
__________________
Reality.getBounds(this);

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
На всяк случай по первому вопросу приведу код

Код AS3:
public function define(content:XMLList):void {
 
			while (_cont.numChildren) _cont.removeChildAt(0);
 
			_nameArray = [];
			_groupList = [];
 
			for (var i:int = 0; i < content.children().length(); i++) {
				_nameArray.push(content.group[i].@title);
				_groupList.push(content.group[i] ); // только xml к  сожалению ( хотя по вашему коду должен быть XMLList )
 
			}
			generateList();
 
		}
Где сontent

Цитата:
<params>
<group name="slideshow" title="Slideshow">
<p name="backgroundColor" title="Background Color" control="color" default="0xFFFFFF" />
<p name="logo" title="Logo" control="text" default="" values=""/>
<p name="time" title="Delay" control="slider" default="5000" values="0..10000:1000"/>
<p name="musicPath" title="Path to music" control="text" default="" />
<p name="useEmbedFont" title="Use Embed Font" control="checkbox" default="0" values="1" />
<p name="target" title="Links Target" control="select" default="_blank" values="_blank,_self" />
</group>
<group name="navigation" title="Navigation">
<p name="enable" title="Enable" control="checkbox" default="0" values="1" />
<p name="indent" title="Indent" control="text" default="20" values="" class="numeric" />
<p name="home" title="Home" control="checkbox" default="0" values="1" />
<p name="itemFont" title="Font" control="select" default="Arial" values="Arial,Tahoma" />
<p name="itemSize" title="Font Size" control="slider" default="11" values="8..24:1" />
<p name="itemBold" title="Bold Font" control="checkbox" default="0" values="1" />
<p name="itemColorLowerText" title="Lower Text Color" control="color" default="0x1C6CC4" />
<p name="itemColorUpperText" title="Upper Text Color" control="color" default="0x1C6CC4" />
<p name="itemColorLowerField" title="Lower Field Color" control="color" default="0x1C6CC4" />
<p name="itemColorUpperField" title="Lower Text Color" control="color" default="0x1C6CC4" />
</group></params>
Добавлено через 33 секунды
1. Я и пишу в FD и с типизацией ))) Я кидаю суда примеры)))
__________________
Марк Tween


Последний раз редактировалось in4core; 31.07.2011 в 02:19.
Старый 31.07.2011, 02:48
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
_groupList.push(content.group[i] ); // только xml к сожалению ( хотя по вашему коду должен быть XMLList )
В моем коде не было "восстановления" типа из массива, ага.
"_groupList[i]" это просто Обжект. Привести его к списку не получится, потому что это, простите, НЕ список. Список будет – _groupList[i].group;
__________________
Reality.getBounds(this);

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Спасибо ошибку понял.
__________________
Марк Tween

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

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

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


 


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


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