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

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

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

Регистрация: Sep 2012
Сообщений: 204
По умолчанию запутался в простейшей структуре XML

Доброго времени суток

Поражаюсь что сам не могу разобраться в вопросе.. как я только не пробовал. Вот код
Код AS3:
private function arrayFilling(doc:Object):void{
			xml = XML(doc);
			var xmlList:XMLList = xml.object;
 
			for (var i:int = 0; i < xmlList.length(); i++) {
				var picID:String = xmlList[i].@id;
				var picURL:String = xmlList[i].@pic;
				idArr.push(picID);
				urlArr.push(picURL);
структура xml
Код AS3:
<?xml version="1.0" encoding="utf-8" ?>
<data>Примеры графики
	<object id = "0" pic="pics/img0.jpg"></object>
	<object id = "1" pic="pics/img1.jpg"></object>
	<object id = "2" pic="pics/img2.jpg"></object>
	<object id = "3" pic="pics/img3.jpg"></object>
	<object id = "4" pic="pics/img4.jpg"></object>
	<object id = "5" pic="pics/img5.jpg"></object>
	<object id = "6" pic="pics/img6.jpg"></object>
	<object id = "7" pic="pics/img7.jpg"></object>
	<object id = "8" pic="pics/img8.jpg"></object>
	<object id = "9" pic="pics/img9.jpg"></object>
</data>
при трейсе массива urlArr показывает данные, как будто там массив в массиве в массиве. Получается цикл пробегает огромное колличество раз, хотя длина по факту - 10

В чем я ошибся?


Последний раз редактировалось pomuс; 25.01.2013 в 19:02.
Старый 25.01.2013, 16:57
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 2  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Цитата:
Сообщение от pomuс Посмотреть сообщение
Получается цикл пробегает огромное колличество раз, хотя длина по факту - 10
Что показывает трейс xmlList.length()? Подозреваю что 10 и будет.
__________________
adobe AS3 manual

Старый 25.01.2013, 16:59
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 3  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Код AS3:
  var picID:String = xmlList[i] .@id;
  var picURL:String = xmlList[i].@pic;
Вот так. Внимательнее чуточку надо быть.

Старый 25.01.2013, 19:02
pomuс вне форума Посмотреть профиль Отправить личное сообщение для pomuс Найти все сообщения от pomuс
  № 4  
Ответить с цитированием
pomuс

Регистрация: Sep 2012
Сообщений: 204
strangedk ну да, я про это и говорю
maxkar прошу прощения, со всеми этими манипуляциям не правильно дал код - как вы написали, так изначально и было. Но ничего
trace (xml); ДО цикла, выводит всю структуру XML 10 раз!!!

Старый 25.01.2013, 19:09
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 5  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Чудес не бывает. Значит, функция вызывается 10 раз. Показывайте код, который ее вызывает (подписывает на события и т.п.).

Старый 25.01.2013, 19:10
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 6  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Значит логично предположить, что ошибка возникает до того, как выполняется цикл. Ведь откуда-то doc:Object появляется в arrayFilling.
__________________
мой пустой блог

Старый 25.01.2013, 19:23
pomuс вне форума Посмотреть профиль Отправить личное сообщение для pomuс Найти все сообщения от pomuс
  № 7  
Ответить с цитированием
pomuс

Регистрация: Sep 2012
Сообщений: 204
блин мне стыдно... такая невнимательность которая заняла кучу времени. Еще раз спасибо всем за помощь


Последний раз редактировалось pomuс; 25.01.2013 в 20:10.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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