Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление элемента XML, Как удалить элемент из XML-документа? 
V
    Опции темы
WolfAlone
  Дата 11.12.2009, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



Здравствуйте! Недавно очень тесно столкнулся с XML. В голову пришла мысль, что его можно использовать в качестве "БД", для маленьких "сайтиков" (аля "визитка"). Почитал про разнообразные способы XML-парсинга...

Допустим, у нас есть вот такой XML-файл:
Код

<root>
<elem id="1">text1</elem>
<elem id="2">text2</elem>
<elem id="3">text3</elem>
</root>


Нашел множество функций для чтения, записи XML-файлов, но не нашёл ни одной функции для удаления элементов! В виду чего возник вопрос:
Есть ли какой-нибудь "стандартный" способ удаления элемента (например, нужно удалить elem с id=2) или эти действия можно произвести только "извращенным" путем (например, загрузка XML в массив, удаление элемента массива, перезапись XML-файла)?


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 11.12.2009, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



даже если и есть способ удаления (это надо смотреть классы типа simpleXML), то там всё равно будет загрузка файла в массив, удаление одной переменной и новая запись. просто это будет обставлено внешне вызовом одного метода
PM MAIL WWW   Вверх
MystDeim
Дата 27.1.2010, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 22.10.2007
Где: Россия->Юбилей ный

Репутация: нет
Всего: нет



Код

$doc = new DOMDocument;
$doc->loadXML($data); //$data - строка с xml

$book = $doc->documentElement;
$chapter = $book->getElementsByTagName('elem')->item(0); // Тут выбираем например 1 элемент

$chapter->parentNode->removeChild($chapter); //Получаем родительскую ноду и удаляем нужную нам

echo $doc->saveXML();

--------------------
Учебные материалы для студентов http://studlab.org
PM MAIL WWW   Вверх
WolfAlone
Дата 7.4.2011, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


В экстазе
***


Профиль
Группа: Завсегдатай
Сообщений: 1010
Регистрация: 16.9.2008
Где: Рай

Репутация: нет
Всего: 5



Всем спасибо! Вопрос закрыт. Разобрался до того, как успел вернуться к этой теме.


--------------------
И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!"

Ф топку Ubuntu, Debian наше фсё!

(с) Евгений Вольф
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.2475 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.