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

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

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

Регистрация: Nov 2008
Сообщений: 5
По умолчанию XML распознавание (nodeValue)

Здравствуйте.

Появилась необходимость использовать XML для flash-сайта.
С использованием класса XML и XMLNode вроде разобрался, но возникла одна проблема:

Вот такой код подгружает и должен разбирать XML-файл:
Код AS1/AS2:
var lang:XML = new XML();
lang.ignoreWhite = true;
lang.onLoad = function(success)
{
	if(success)
	{
		lang = this;
		var item:XMLNode = lang.firstChild.firstChild;
		trace(item.attributes.name);
		trace(item.nodeValue);
		trace(item.toString());
		item = item.nextSibling;
		trace(item.attributes.name);
		trace(item.nodeValue);
		trace(item.toString());
	}
}
lang.load("/languages/lang.xml");
XML:
Код:
<?xml version="1.0" encoding="UTF-8" ?>
<languages>
    <item name="en">en</item>
    <item name="ru">ru</item>
</languages>
Но output выдает следующее:
Код:
en
null
<item name="en">en</item>
ru
null
<item name="ru">ru</item>
То есть nodeValue он не читает...
Подскажите, пожалуйста, что не так и как это можно исправить.


Последний раз редактировалось Constantine88; 15.11.2008 в 01:01.
Старый 15.11.2008, 01:53
Avtorpc вне форума Посмотреть профиль Отправить личное сообщение для Avtorpc Найти все сообщения от Avtorpc
  № 2  
Ответить с цитированием
Avtorpc

Регистрация: Oct 2008
Сообщений: 30
v
Код AS1/AS2:
ar lang:XML = new XML();
lang.ignoreWhite = true;
lang.onLoad = function(success)
{
	if(success)
	{
		lang = this;
 
		var item:XMLNode = lang.firstChild.firstChild;
		trace(item);
		trace(item.attributes.name);
		trace(item.firstChild.nodeValue);
		trace(item.toString());
		item = item.nextSibling;
		trace(item.attributes.name);
		trace(item.firstChild.nodeValue);
		trace(item.toString());
	}
}
lang.load("/languages/lang.xml");
Вот такой скрипт будет работать. trace(item.nodeValue) выводит элемент 1-го типа (ELEMENT_NODE)он в свою очередь содержит элемент 3-го типа(TEXT_NODE) вот его значение и нужно вывести - trace(item.firstChild.nodeValue);


Последний раз редактировалось iNils; 15.11.2008 в 01:58.
Старый 15.11.2008, 02:28
Constantine88 вне форума Посмотреть профиль Отправить личное сообщение для Constantine88 Найти все сообщения от Constantine88
  № 3  
Ответить с цитированием
Constantine88

Регистрация: Nov 2008
Сообщений: 5
Огромное спасибо!
а то уже голову сломал...
всегда считал, что узел - это '<item>text</item>', а оказывается, что 'text' - это подузел )

Старый 15.11.2008, 17:50
Avtorpc вне форума Посмотреть профиль Отправить личное сообщение для Avtorpc Найти все сообщения от Avtorpc
  № 4  
Ответить с цитированием
Avtorpc

Регистрация: Oct 2008
Сообщений: 30
Цитата:
Сообщение от Constantine88 Посмотреть сообщение
Огромное спасибо!
а то уже голову сломал...
всегда считал, что узел - это '<item>text</item>', а оказывается, что 'text' - это подузел )
ТЕКСТ - это не подузел!!! Это тоже узел!!!!! Только текстовый))))

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

Регистрация: Nov 2008
Сообщений: 5
Цитата:
Сообщение от Avtorpc Посмотреть сообщение
ТЕКСТ - это не подузел!!! Это тоже узел!!!!! Только текстовый))))
относительно узла "<item>text</item>", "text" - это подузел или "ребенок", если хотите. )
без паники и не надо флуда )


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

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

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


 


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


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