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

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

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

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
По умолчанию XML - уровни

Узел можно создать так:
Код:
w = new XML();
newP = w.createElement('P');
w.appendChild(newP);
newP = w.createElement('P');
w.firstChild.appendChild(newP);
а как действовать в цикле?
например childNodes[] ссылается на узлы в пределах одного уровня, а как сослаться на уровень используя индексируемые переменные никак не могу понять..
__________________
Пора бы мне уже умнеть..

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

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Цитата:
Сообщение от Ноябрь
ссылается на узлы в пределах одного уровня, а как сослаться на уровень используя индексируемые переменные никак не могу понять..
если тебе нужно следующее
<ROOT>
<NODE>
<NODE>
<NODE/>
</NODE>
</NODE>
</ROOT>
делай так
Код:
xm=new XML("<ROOT />");
xml = xm.firstChild
i=0;
while(i<5){
     node = xm.createElement('P');
     xml.appendChild(node);  
     xml = xml.firstChild
     i+=1
}
trace(xm)
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

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

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
Цитата:
Сообщение от miramax
Код:
xml = xm.firstChild
понятненько, спасибо
__________________
Пора бы мне уже умнеть..

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

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
а как попасть на предыдущий уровень..?
__________________
Пора бы мне уже умнеть..

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

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
сам отвечу
xml.parentNode;
вообще, мне не понятно зачем сначала нужно прировнять какой-то хмл к нашему(т.е xml к xm в данном случае) и затем работать с ним, а в остальном кажется догнал..
__________________
Пора бы мне уже умнеть..

Старый 11.09.2006, 04:21
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 6  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Цитата:
Сообщение от Ноябрь
сам отвечу
xml.parentNode;
вообще, мне не понятно зачем сначала нужно прировнять какой-то хмл к нашему(т.е xml к xm в данном случае) и затем работать с ним, а в остальном кажется догнал..
Нет, если обратить внимание на типы, сразу становится ясно что здесь происходит.
Вообще есть класс XMLNode. Он содержит массив childNodes свойства lastChild, firstChild, nextSibling и пр.
Свойство XMLNode.firstChild - содержит ссылку на другой XMLNode и так далее. Т.е. ноды
вложены друг в друга.
Мождно записать консрукцию
xmlNode1= xmlNode2.firstChild.lastChild.childNodes[3] - и тоже получим ссылку на XMLNode. Таким образом мы перемещаемся по так называемому "XML дереву" и рассматриваем все его элементы относительно новой "точки". Имеем другие относительные пути ко всем нодам. Таким образом, записывая конструкцию
В своём примере, я ввёл переменную xml для перемещения по дереву, этот метод является одной из самых сильных сторон XML.
"XML" - наследует XMLNode. Это тот же XMLNode, только без поля attributes и некоторых других фич типа parentNode, т.е. несколько модифицированный. Он имеет методы парсинга, загрузки и прочие полезности, благодаря чему мы можем инициировать новые ноды.

Код:
doc = new XML("<ROOT />");  //создали новый XML
xml = doc.firstChild    
// записали в переменную xml ссылку doc.firstChild
i=0;
while(i<5){

     node = doc.createElement('P');  
    //создали новый нод, в doc. никакими doc.firstChild или 
    //doc.node к нему доступ не получим, только по ссылке this.node

     xml.appendChild(node); 
     //теперь мы воткнули node в "дерево" и можем
     //обратиться к нему через поле xml.firstChild

     xml = xml.firstChild;        
     //что мы и сделали, одновременно переписав ссылку xml

     i += 1
}
Цитата:
Сообщение от Ноябрь
как можно посмотреть флэшевскую длинную хмл строчку в виде дерева?
Не понял вопроса...
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©


Последний раз редактировалось miramax; 11.09.2006 в 05:58.
Старый 11.09.2006, 00:58
Ноябрь вне форума Посмотреть профиль Отправить личное сообщение для Ноябрь Посетить домашнюю страницу Ноябрь Найти все сообщения от Ноябрь
  № 7  
Ответить с цитированием
Ноябрь
 
Аватар для Ноябрь

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
как можно посмотреть флэшевскую длинную хмл строчку в виде дерева?
__________________
Пора бы мне уже умнеть..

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

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
спасибо за подробный ответ

ну trace(xm); в результате появляется что-то такое
<1*0><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></1*0><0*1><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></0*1><-1*0><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></-1*0><0*-1><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></0*-1><1*-1><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></1*-1><-1*1><1*0 /><0*1 /><-1*0 /><0*-1 /><1*-1 /><-1*1 /></-1*1>
трудно понять что там к чему, приходится копировать в блокнот и превращать в "дерево"

утро:
-Ура я написал алгоритм бесконечного ветвления
__________________
Пора бы мне уже умнеть..


Последний раз редактировалось Ноябрь; 11.09.2006 в 06:46.
Старый 11.09.2006, 12:08
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Есть волшебный метод Поиск и слово Дерево
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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