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

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

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

Регистрация: May 2006
Адрес: Vologda
Сообщений: 62
По умолчанию количество объектов в XML

Если использовать такой код
Код:
oxml = new XML(); 
oxml.ignoreWhite = true;
oxml.load("objects.xml");
oxml.onLoad = trace(oxml.childNodes[0].childNodes.length);
То все работает и показывает количество узлов. А если вызывать загрузку XML из функции, то не работает.

Код:
function XML2 () {
oxml = new XML(); 
oxml.ignoreWhite = true;
oxml.load("objects.xml");
oxml.onLoad = trace(oxml.childNodes[0].childNodes.length);
	}
В чем ошибка?

Старый 09.07.2007, 10:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Первый код не может работать. И второй тоже.

Код:
oxml.onLoad = function() {
    trace(this.firstChild.childNodes.length);
}

Старый 09.07.2007, 11:08
Torero вне форума Посмотреть профиль Отправить личное сообщение для Torero Найти все сообщения от Torero
  № 3  
Ответить с цитированием
Torero
[+1.4 18.06.07]
 
Аватар для Torero

Регистрация: May 2007
Адрес: Moscow
Сообщений: 263
Если структура XML сложная, то в цикле, 1 за другим, обнули все объекты и посчитай сколько их было.

Старый 09.07.2007, 12:03
Дмитрий. вне форума Посмотреть профиль Отправить личное сообщение для Дмитрий. Найти все сообщения от Дмитрий.
  № 4  
Ответить с цитированием
Дмитрий.

Регистрация: May 2006
Адрес: Vologda
Сообщений: 62
Первый код прекрасно работает.

Старый 09.07.2007, 12:04
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 5  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Дмитрий
Свой XML покажите. Разумеется в упрощенном виде.

Старый 09.07.2007, 12:12
Дмитрий. вне форума Посмотреть профиль Отправить личное сообщение для Дмитрий. Найти все сообщения от Дмитрий.
  № 6  
Ответить с цитированием
Дмитрий.

Регистрация: May 2006
Адрес: Vologda
Сообщений: 62
Код:
<NORTH_AMERICA>
 <State>
  <object></object>
  <object></object>
 </State>
</NORTH_AMERICA>
<South_AMERICA>
 <State>
  <object></object>
  <object></object>
 </State>
</South_AMERICA>

Старый 09.07.2007, 12:52
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 7  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Я вставил ваш XML в XML редактор, а он пишет что XML не правильный.
А вот так все нормально.
Код:
<?xml version="1.0" encoding="UTF-8"?>
<main>
<NORTH_AMERICA>
 <State>
  <object></object>
  <object></object>
 </State>
</NORTH_AMERICA>
<South_AMERICA>
 <State>
  <object></object>
  <object></object>
 </State>
</South_AMERICA>
</main>
Совет: для работы с XML используйте специальные XML редакторы.

Далее:
Код:
oxml = new XML();
oxml.ignoreWhite = true;
oxml.load("objects.xml");
oxml.onLoad = trace(oxml.firstChild.childNodes[0].childNodes.length);
не работает ( как вам и указали).

Код:
function xmlLoader(fileName:String):Void {
	oxml = new XML();
	oxml.ignoreWhite = true;
	oxml.load(fileName+'.xml');
	oxml.onLoad = function(success:Boolean):Void  {
		if (success && !this.status) {
			trace(this.firstChild.childNodes[0].childNodes.length);
		}
	};
}
//
xmlLoader('objects');
Вот вариант с функцией. Все прекрасно работает.


Последний раз редактировалось this.create; 09.07.2007 в 13:15.
Старый 09.07.2007, 13:48
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Дмитрий.
Первый код прекрасно работает.
Вот именно в таком виде он не может работать.

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

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

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


 


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


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