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

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

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

Регистрация: Sep 2010
Сообщений: 90
По умолчанию Компилятор не видит некоторые теги в xml

Парсится xml такого вида:
Код AS3:
<data>
    <content>
        <grid w="100" h="50"/>
 
        <atlas path="dawaevarvervesv"/>
        <atlas path="yngyunguumygmy"/>
 
        <size w="32" h="32"/>
    </content>
</data>
Собсно, все теги, кроме <size> видны, я имею доступ к значениям, но именно при обращении к <size> я получаю пробелы в трейсе и нули в коде при попытке присвоить их. Пробовал и перебором "for each" и прямым обращением (xml.content.size.@w например для длины) - один фик. Хотя строчкой выше получаю доступы к другим тегам. Причем, если выводить целиком <content>, то <size> присутствует, но конкретно его я получить не могу.
Впервые вижу такую байду, второй день уж ломаю голову, что не так то.. помогите, пожалуйста, кто сталкивался с подобным.

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

Регистрация: Mar 2011
Сообщений: 243
size зарезервированное слово. Попробуйте:
Код AS3:
xml.content['size']
Если есть возможность, то используйте синоним, чтобы избегать таких проблем

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
size зарезервированное слово. Попробуйте:
Где это оно зарезервировано?
Цитата:
Компилятор не видит некоторые теги в xml
Компилятор тут точно ни при чем. XML парсится в рантайме.

Старый 18.02.2013, 13:01
HorusWM вне форума Посмотреть профиль Отправить личное сообщение для HorusWM Найти все сообщения от HorusWM
  № 4  
Ответить с цитированием
HorusWM

Регистрация: Sep 2010
Сообщений: 90
Цитата:
Сообщение от Deimos747 Посмотреть сообщение
size зарезервированное слово. Попробуйте:
Код AS3:
xml.content['size']
Если есть возможность, то используйте синоним, чтобы избегать таких проблем
Пробовал разные слова и с нижними пробелами и не имеющими отношения к size - ноль. Обращение xml.content['size'] тоже не дает результатов. Опять же, к другим тегам получаю доступ, сюда нет. Словно компилятор не хочет считывать теги (там несколько строчек с размерами и разными именами тегов и ни к одной не имею доступа) после тех, к которым получил доступ.

Цитата:
Компилятор тут точно ни при чем. XML парсится в рантайме.
Не правильно выразился) Флеш, смысли, интерпретатор.. не знаю, как точнее)

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Проверил, все нормально с этим xml файлом. И нифига size не зарезервированное слово, как говорили выше.
Вот мой тест:
Код AS3:
package 
{
	import flash.display.Sprite;
 
 
	public class Main extends Sprite {
 
		private var _xml:XML = <data>
								<content>
									<grid w="100" h="50"/>
 
									<atlas path="dawaevarvervesv"/>
									<atlas path="yngyunguumygmy"/>
 
									<size w="32" h="32"/>
								</content>
							</data>;
 
		public function Main() {
			trace(_xml..size.@w); // выводит 32
		}
 
	}
}
Понятно что у тега size тут контента нет вообще, что он должен выводить-то? Тут можно считать только атрибуты.

Старый 18.02.2013, 13:24
HorusWM вне форума Посмотреть профиль Отправить личное сообщение для HorusWM Найти все сообщения от HorusWM
  № 6  
Ответить с цитированием
HorusWM

Регистрация: Sep 2010
Сообщений: 90
У меня что-то вообще никак ничего( Написал другу строку с другими данными - тоже пробелы. И вне тега <content> и в нем. В трейсе выводится все, что было написано ранее, но новые строки нет.
Цитата:
Тут можно считать только атрибуты
Да, атрибуты-то и нужны. Полностью тег выводится, как она написан, но атрибуты, если стучаться к ним, выводятся так, словно они пустые.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Повторю, проблема в коде, а не в xml.

Старый 18.02.2013, 13:35
HorusWM вне форума Посмотреть профиль Отправить личное сообщение для HorusWM Найти все сообщения от HorusWM
  № 8  
Ответить с цитированием
HorusWM

Регистрация: Sep 2010
Сообщений: 90
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Повторю, проблема в коде, а не в xml.
Создал еще одну вложенную ветку и поместил строки туда - пошло. Странно вообще, но сомневаюсь, что дело в коде.

Старый 18.02.2013, 14:17
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 9  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
но сомневаюсь, что дело в коде.
У меня все работает и так. Так что дело 100% в коде. Тут никаких сомнений.
Спорить на эту тему можно сколько угодно. Пока нет, кода, сказать где в нем проблема невозможно.

Старый 18.02.2013, 23:24
yasha005 вне форума Посмотреть профиль Отправить личное сообщение для yasha005 Найти все сообщения от yasha005
  № 10  
Ответить с цитированием
yasha005
[+1 16.03.13]
[+1 22.03.13]

Регистрация: Dec 2012
Сообщений: 100
Я считаю что проблема не в коде, а в самом xml-листинге. Так-то тэги должны быть как открывающиеся, так и закрывающиеся, а то по-логике у вас получается что тэг atlas вложен в тэг grid и т.д. идёт вложение до ближайшего закрывающегося тэга content

Код AS3:
<data>
    <content>
        <grid w="100" h="50"></grid>
 
        <atlas path="dawaevarvervesv"></atlas>
        <atlas path="yngyunguumygmy"></atlas>
 
        <size w="32" h="32"/></size>
    </content>
</data>

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

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

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


 


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


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