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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Общие вопросы

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

Регистрация: Oct 2003
Адрес: Донецк
Сообщений: 114
Отправить сообщение для Buben с помощью ICQ
По умолчанию Вопросик по Xml

Всем привет, вот какой вопрос:

xmlStr ="<?xml version 1.0?>
<cars>
<car>
<make>111</make>
<model>sdadas</model>
</car>
</cars>";
//Это есть XML, который надо отпарсить
myXML = new XML('xmlStr');
rootNode=myXML.firstChild;
car=rootNode.firstChild;
children=car.childNodes;
trace(children[1].firstChild.toString());

В принципе этот код работает, но вот если засунуть содержимое в файл "test.xml"
myXML = new XML();
myXML.load('test.xml');

программа выдаёт обидную надпись undefinded
В чём тут закон?


Зараннее благодарен,
Искренне Ваш Бубен.

Старый 06.11.2003, 11:15
AndreyTS вне форума Посмотреть профиль Отправить личное сообщение для AndreyTS Найти все сообщения от AndreyTS
  № 2  
AndreyTS
 
Аватар для AndreyTS

Регистрация: Oct 2001
Адрес: Tomsk
Сообщений: 30
Отправить сообщение для AndreyTS с помощью ICQ Отправить сообщение для AndreyTS с помощью AIM
проверял или нет, он ваще грузится xml или нет?

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

Регистрация: Oct 2002
Адрес: Ярославль
Сообщений: 786
Отправить сообщение для paravozzz с помощью ICQ
#include ('test.xml')
__________________
---

Старый 06.11.2003, 14:24
Buben вне форума Посмотреть профиль Отправить личное сообщение для Buben Посетить домашнюю страницу Buben Найти все сообщения от Buben
  № 4  
Buben
 
Аватар для Buben

Регистрация: Oct 2003
Адрес: Донецк
Сообщений: 114
Отправить сообщение для Buben с помощью ICQ
Он грузится, по крайней мере когда задаешь неправельное имя файла матерится, а по поводу инклуда, если файл лежит на сервере, то мне кажется тут инклуд не подходит...

Старый 06.11.2003, 15:20
AndreyTS вне форума Посмотреть профиль Отправить личное сообщение для AndreyTS Найти все сообщения от AndreyTS
  № 5  
AndreyTS
 
Аватар для AndreyTS

Регистрация: Oct 2001
Адрес: Tomsk
Сообщений: 30
Отправить сообщение для AndreyTS с помощью ICQ Отправить сообщение для AndreyTS с помощью AIM
от делать не фига.... разобрался с кривым xml парсером, чтоь им худо было в этой макромедии

xml на самом деле не грузился... а только делал попытку )

первым делом, грохаешь в XML файле строчку: <?xml version 1.0?>
хотя можно и не грохать... но лучше без нее
затем обязательно root (т.е. cars) должен стоять в первой строчке, иначе перевод строки флеш понимает как нод
т.е. XML имеет след. вид:
<CARS>
<car>
<make>111</make>
<model>sdadas</model>
</car>
</CARS>
причем работает токо если заглавные буквы у рута, вот бред же

затем я взял пример из хелпа для MX и сделал следующее:
unction myOnLoad(success) {
if (success) {
e = _root.myLoginReply
trace(e);
if (e.firstChild.nodeName == "CARS") {
var cs = e.firstChild;
trace(cs.nodeName); //CARS
var c = cs.childNodes[1];
trace(c.nodeName);
var m = c.childNodes[1];
trace(m);
var m_text = m.firstChild;
trace(m_text);
trace("loggedIn")
} else {
trace("loginFailed")
}
} else {
trace("connectionFailed")
}
}

var myLoginReply = new XML();
myLoginReply.load("test.xml");
myLoginReply.onLoad = myOnLoad;

в output`e вывело:
<CARS>

<car>

<make>111</make>

<model>sdadas</model>

</car>

</CARS>
CARS
car
<make>111</make>
111
loggedIn

ну а дальше понятно, причем везде, во всех парсерах childNodes идет нумерация с 0, в макромедии опять издрочились и сделали с 1, бреееееддд

Старый 06.11.2003, 15:23
AndreyTS вне форума Посмотреть профиль Отправить личное сообщение для AndreyTS Найти все сообщения от AndreyTS
  № 6  
AndreyTS
 
Аватар для AndreyTS

Регистрация: Oct 2001
Адрес: Tomsk
Сообщений: 30
Отправить сообщение для AndreyTS с помощью ICQ Отправить сообщение для AndreyTS с помощью AIM
иногда полезно указывать кодировку в xml
то пишешь
<?xml version 1.0?><CARS>
<car>
<make>111</make>
<model>sdadas</model>
</car>
</CARS>

ну и в <?xml version 1.0?> вставляешь кодировку нужную

Старый 06.11.2003, 17:35
Buben вне форума Посмотреть профиль Отправить личное сообщение для Buben Посетить домашнюю страницу Buben Найти все сообщения от Buben
  № 7  
Buben
 
Аватар для Buben

Регистрация: Oct 2003
Адрес: Донецк
Сообщений: 114
Отправить сообщение для Buben с помощью ICQ
Ага, спасибо Андрей, теперь ко крайне мере есть с чего начать, если чо мож еще что нибудь спрошу
Бубен.

Старый 07.11.2003, 15:48
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 8  
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
> Buben
> программа выдаёт обидную надпись undefinded
Когда вызываешь: myXML.load('test.xml');
твой скрипт продолжает выполняться дальше, а XML документ в параллельном процессе грузится. Т.е. если ты пытаешься обратиться к myXML сразу после load, то там будет пусто, т.к. документ еще не загрузился. Нужно повесить свой обработчик на событие myXML.onLoad (см. help), и твоя функция будет вызвана когда XML документ будет полностью загружен и уже в этой функции можешь делать с XML все что нужно.

> AndreyTS
> иначе перевод строки флеш понимает как нод
См. HELP про ignoreWhite
укажи
myLoginReply.ignoreWhite = true;
и пробелы и переводы строк будут игнорироваться.

> от делать не фига.... разобрался с кривым xml парсером, чтоь им худо было в этой макромедии
Перед тем, как делать громкие заявления, надо убедиться в некривости собственных рук... XML парсер малофункциональный - это да, но работает стабильно, никаких глюков замечено не было.
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 07.11.2003, 16:33
Buben вне форума Посмотреть профиль Отправить личное сообщение для Buben Посетить домашнюю страницу Buben Найти все сообщения от Buben
  № 9  
Buben
 
Аватар для Buben

Регистрация: Oct 2003
Адрес: Донецк
Сообщений: 114
Отправить сообщение для Buben с помощью ICQ
ДА я уже понял, кстати пример который AndreyTS привел не совсем работает, вот рабочий пример обхода дерева


childs = testXml.childNodes;//cars
for( i=0; i<childs.length; i++)
{
if ( childs[i].nodeType == 1)
{
trace( childs[i].nodeName);
childs1 = childs[1].childNodes;//cars
for( i=0; i<childs1.length; i++)
{
if ( childs1[i].nodeType == 1)
{
trace( childs1[i].nodeName);
}
}
}
}

ну и так делее, принцип я думаю понятен.

Старый 10.11.2003, 09:43
AndreyTS вне форума Посмотреть профиль Отправить личное сообщение для AndreyTS Найти все сообщения от AndreyTS
  № 10  
AndreyTS
 
Аватар для AndreyTS

Регистрация: Oct 2001
Адрес: Tomsk
Сообщений: 30
Отправить сообщение для AndreyTS с помощью ICQ Отправить сообщение для AndreyTS с помощью AIM
то что руки некривые это сто пудов , доказано временем

а то что парсер сделан не как у людей , то это тоже сто пудов... возмите в пример парсер MSXML, вот это вещь... куча методов и свойств, работает на ура, можно без всякой документации разобраться просто просмотрев список этих самых методов... и после него парсер макромедии на стоко плох, что и слов нет .... чего значит токо , на мой взгляд полное уродство, что текст в ноде - это не св-во нода, как везде, а по сути еще один нод

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

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

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


 


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


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