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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.08.2005, 15:58
Max Payne вне форума Посмотреть профиль Отправить личное сообщение для Max Payne Найти все сообщения от Max Payne
  № 1  
Ответить с цитированием
Max Payne
[+ 3 06.06.2006]
[++3 10.06.2006]
 
Аватар для Max Payne

Регистрация: Jul 2005
Сообщений: 61
Question проблемы с Xml

вот текст XML файла (file2.xml):
<person>
<name>Max</name>
<name>Vano</name>
<name>Tom</name>
</person>

хочу его прочитать.
var xml:XML=new XML;
xml.load("file2.xml");
xml.onLoad=function():Void
{
trace("OK!!!");
trace(xml.childNodes[0].childNodes[0]);
trace(xml.childNodes[0].childNodes[1]);
trace(xml.childNodes[0].childNodes[2]);
}
По идее должно быть выведено:
<name>Max</name>
<name>Vano</name>
<name>Tom</name>
Но почему-то выводится:



<name>qqq</name>



Если написать так:
trace(xml.childNodes[0].childNodes[1]);
trace(xml.childNodes[0].childNodes[3]);
trace(xml.childNodes[0].childNodes[5]);
То всё выводиться, почему?

И ешё: как прочитать значение узлов, т.е. Max,Vano,Tom ?
Есть функция nodeValue, пишу trace(xml.childNodes[0].childNodes[1].nodeValue); Но почему-то выводиться null. В книжки написано, что nodeValue выводит значение узла, только если он относится к типу TEXT, а если к ELEMENT, то выводится null. А вот как сделать, так что бы у узла был тип TEXT не написано. Можно конечно программно создавать XML, тогда можно создать узел с типом TEXT, но мне это не нужно, у меня уже есть XML файл, мне нужно его прочитать.

Вобщем буду благодарен за любую помощь.

P.S. Как думаете я правильно выбрал раздел форума, может его перенести в другой раздел?
__________________
Спасибо тому, благодаря чему, мы не смотря ни на что.

Старый 07.08.2005, 16:10
nuran вне форума Посмотреть профиль Отправить личное сообщение для nuran Найти все сообщения от nuran
  № 2  
Ответить с цитированием
nuran

Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
Цитата:
Сообщение от Max Payne
вот текст XML файла (file2.xml):
<person>
<name>Max</name>
<name>Vano</name>
<name>Tom</name>
</person>
Цитата:
Сообщение от Max Payne
Но почему-то выводится:



<name>qqq</name>

Бред, такого не может быть.
__________________
flash/flex/unity

Старый 07.08.2005, 16:40
Max Payne вне форума Посмотреть профиль Отправить личное сообщение для Max Payne Найти все сообщения от Max Payne
  № 3  
Ответить с цитированием
Max Payne
[+ 3 06.06.2006]
[++3 10.06.2006]
 
Аватар для Max Payne

Регистрация: Jul 2005
Сообщений: 61
говоришь не может быть ? посмотри и убедись :d
Вложения
Тип файла: rar xml.rar (3.7 Кб, 27 просмотров)
__________________
Спасибо тому, благодаря чему, мы не смотря ни на что.

Старый 08.08.2005, 02:31
Ріxеl вне форума Посмотреть профиль Отправить личное сообщение для Ріxеl Найти все сообщения от Ріxеl
  № 4  
Ответить с цитированием
Ріxеl
 
Аватар для Ріxеl

Регистрация: Sep 2003
Адрес: Ukraine
Сообщений: 625
Отправить сообщение для Ріxеl с помощью ICQ
смешной код.
qqq оно не выводит.
странно, что оно вообще что-то выводит.
во-первых:
не
Код:
var xml:XML=new XML;
а
Код:
var myXML:XML = new XML();
(именна лучше использовать оригинальные. хоть седбмой плеер и чувствителен к регистру не стоит таким злоупотреблять. чтобы вызвать функцию нужно добавить круглые скобки)

во-вторых нужно добавить строку
Код:
XML.prototype.ignoreWhite = true;
чтобы не было пустых строк и работало "по идее".

в-третьих
можно забить на nodeValue используя ещё раз firstChild;

Вот финальный код:
Код:
var myXML:XML = new XML();
myXML.load("xml.xml");
myXML.onLoad=function():Void {
	trace("OK!!!");
	trace(myXML.firstChild.childNodes[0]);
	trace(myXML.firstChild.childNodes[1]);
	trace(myXML.firstChild.childNodes[2]);
	trace(myXML.firstChild.childNodes[0].firstChild);
	trace(myXML.firstChild.childNodes[1].firstChild);
	trace(myXML.firstChild.childNodes[2].firstChild);
}
XML.prototype.ignoreWhite = true;
впредь не путай нюрана!

пожалуйста.

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

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

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


 


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


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