PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 1
worsvch Отправлено: 15 Ноября, 2014 - 23:05:22 • Тема: Удаление узлов • Форум: XML и его обработка

Ответов: 0
Просмотров: 1031
Есть массив, есть xml-файл.
Используется DOMDocument. Делаю парсинг xml файла по определенному тэгу и если значение атрибута имеется в массиве, то узел полностью удаляется. Все работает, но смущает один момент. Чтобы полностью удалить все совпадения, нужно парсировать 2 раза: сначала оригинал, а затем полученный новый файл. Для удаления использую следующий кусок кода:
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($doc->getElementsByTagName('Zapchast') as $zapch) {
  3.         if (in_array($zapch->getAttribute('Name'),$massiv_zapchastey)) {
  4.                 if ($zapch->parentNode->removeChild($zapch)) {
  5.                         echo $count." \t -> ".$zapch->getAttribute('Name')."\n";
  6.                 }
  7.                 $count++;
  8.         }
  9. }
  10.  

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB