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

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

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

Регистрация: Nov 2006
Сообщений: 106
По умолчанию Как удалить тег в XML?

Допустим есть XML:
Код:
<data>
<group name="A">
</group>
<group name="B">
</group>
<group name="C">
</group>
</data>
Подскажите, как мне удалить тег "group" с атрибутом "name=В"?

Старый 23.04.2007, 13:44
fishbounce вне форума Посмотреть профиль Отправить личное сообщение для fishbounce Посетить домашнюю страницу fishbounce Найти все сообщения от fishbounce
  № 2  
Ответить с цитированием
fishbounce

Регистрация: Dec 2003
Адрес: Москва
Сообщений: 176
Код:
for each(var xml : XML in xmlData.group) {
   if (xml.@name == 'A') {						
	delete xmlData.group[xml.childIndex()];
   }
}


Последний раз редактировалось fishbounce; 23.04.2007 в 13:47.
Старый 23.04.2007, 13:45
fishbounce вне форума Посмотреть профиль Отправить личное сообщение для fishbounce Посетить домашнюю страницу fishbounce Найти все сообщения от fishbounce
  № 3  
Ответить с цитированием
fishbounce

Регистрация: Dec 2003
Адрес: Москва
Сообщений: 176
жалко, что не работает так:
Код:
delete xmlData.group.(@name=='A')

Старый 23.04.2007, 13:48
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
var list:XMLList = xml.children();
var item:XMLList = list.(@name=="B");
delete list[item.childIndex()];

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

Регистрация: Dec 2003
Адрес: Москва
Сообщений: 176
Цитата:
Сообщение от __etc
Код:
var list:XMLList = xml.children();
var item:XMLList = list.(@name=="B");
delete list[item.childIndex()];
мм.. по-моему у XMLList нет метода childIndex().

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

Регистрация: Apr 2006
Адрес: Kursk, Russia
Сообщений: 523
Отправить сообщение для vooparker с помощью ICQ
Цитата:
Сообщение от fishbounce
мм.. по-моему у XMLList нет метода childIndex().
Есть, только:
Цитата:
The following table lists the XML methods that are not included in the XMLList class, but that you can use when your XMLList object has only one XML element. If you attempt to use these methods with anything other than one XML element (zero or more than one element), an exception is thrown.
XML methods
addNamespace()
appendChild()
childIndex()
inScopeNamespace()
insertChildAFter()
insertChildBefore()
name()
namespace()
localName()
namespaceDeclarations()
nodeKind()
prependChild()
removeNamespace()
replace()
setChildren()
setLocalName()
setName()
setNamespace()
__________________
Челябинские флешеры настолько суровы, что пишут код во Flash IDE

Старый 23.04.2007, 13:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Тем не менее, это работает.

Код:
var xml:XML = <data>
<group name="A">
</group>
<group name="B">
<item></item>
</group>
<group name="C">
</group>
</data>;
var list:XMLList = xml.children();
var item:XMLList = list.(@name=="B");
delete list[item.childIndex()];
trace(xml);
В аутпуте:

Код:
<data>
  <group name="A"/>
  <group name="C"/>
</data>

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

Регистрация: Dec 2003
Адрес: Москва
Сообщений: 176
согласен.
но если у тебя будет несколько детей с атрибутом "B", то уже не будет работать.
хотя, конечно, в вопросе была толькок одна "B"

Старый 23.04.2007, 14:08
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Можно удалить в цикле при положительном length().

Старый 23.04.2007, 15:41
Alexandor1984 вне форума Посмотреть профиль Отправить личное сообщение для Alexandor1984 Найти все сообщения от Alexandor1984
  № 10  
Ответить с цитированием
Alexandor1984

Регистрация: Nov 2006
Сообщений: 106
Всем спасибо.

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

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

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


 


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


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