Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Удаление данных из XML


Автор: AlexanderI 18.7.2011, 11:30
Здравствуйте.
Подскажите, как удалить все item с id=a  из XML ?
Например:

Есть такой XML:

Код

<?xml version="1.0" encoding="utf-8"?>
<test>

<item id=a id2=b>
<it name=aaa/>
</item>

<item id=c id2=d>
<it name=bbb/>
</item>

<item id=e id2=f>
<it name=ccc/>
</item>

</test>


Спасибо.

Автор: alezzz 18.7.2011, 13:11
Если структура простая, т.е. нет вложеных item, то проще всего рег. выражением:
Код

$xml =~ s#<item[^>]+id=a.*?</item>##sg;

Если такое не подходит, то есть модули типа XML::Simple, но там нужно уметь настроить чтоб не только разложилось правильно, а еще и результат на выход в том же формате выдало. Если получится правильно разложить в хеш, то дальше просто удалить из хеша ненужный элемент.

Автор: arto 18.7.2011, 14:08
perldoc XML::Parser

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)