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

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

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

Регистрация: May 2007
Сообщений: 232
По умолчанию XML - удаление узлов по имени

Добрый день.
Хочу задать простой вопрос.
У меня есть такой XML:
Код:
<objects>
  <object name="obj1">Это первый объект</object>
  <object name="obj2">Это второй объект</object>
  <object name="obj3">Это третий объект</object>
</objects>
Вопрос! Я хочу удалить второй объект. Возможно ли удалить его сославшись на его имя?

Примечание. Я знаю только способ перебора объектов в цикле.
Перебирая элементы я могу сравнивать атрибут name с тем, который мне нужен. И если это он - удалить при помощи функции deleteNode(), но как мне кажется это тупо.

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

Регистрация: Oct 2007
Сообщений: 255
Записей в блоге: 1
Простите, а чем Вам не нравится перебор? "name", это лишь атрибут, ничего тупого в переборе тут нет.
P.S.: для удаления узла используется функция removeNode()

Старый 06.12.2007, 16:23
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 3  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Да, прошу прощения я ошибся в названии фунции removeNode().
К примеру объектов имеется 1000.
Получается, что мне нужно перебрать всю тысячу, чтобы удалить нужный элемент.
Найти узел по индексу я могу:
xml_objects.firstChild.childNodes[номер узла].

Старый 06.12.2007, 16:36
amesqit вне форума Посмотреть профиль Отправить личное сообщение для amesqit Найти все сообщения от amesqit
  № 4  
Ответить с цитированием
amesqit
 
Аватар для amesqit

Регистрация: Oct 2007
Сообщений: 255
Записей в блоге: 1
Вы боитесь, что перебор тысячи узлов займет у вас длительное время? В любом случае тут без перебора не обойтись, а если вы уверены, что не может быть 2-х атрибутов с одинаковыми полями "name", то ничто не сможет вам помешать при обнаружении узла прервать цикл.

Старый 06.12.2007, 17:11
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 5  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
Роман Вадимович, а может стоит глянуть на АС3, там класс XML могет делать такие весчи
__________________
: M F N W :

Старый 06.12.2007, 18:52
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

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

Старый 07.12.2007, 00:08
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 7  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Цитата:
Сообщение от iNils
Если имя всегда уникальное, то может стоит называть не name, а id и тогда через idMap получать доступ по id?
Супер. То что нужно. Спасибо

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

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

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


 


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


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