Есть массив, есть xml-файл.
Используется DOMDocument. Делаю парсинг xml файла по определенному тэгу и если значение атрибута имеется в массиве, то узел полностью удаляется. Все работает, но смущает один момент. Чтобы полностью удалить все совпадения, нужно парсировать 2 раза: сначала оригинал, а затем полученный новый файл. Для удаления использую следующий кусок кода:
PHP:
скопировать код в буфер обмена
foreach ($doc->getElementsByTagName('Zapchast') as $zapch) { if (in_array($zapch->getAttribute('Name'),$massiv_zapchastey)) { if ($zapch->parentNode->removeChild($zapch)) { echo $count." \t -> ".$zapch->getAttribute('Name')."\n"; } $count++; } }
(Отредактировано автором: 15 Ноября, 2014 - 23:14:41)
|