[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: xml найти node
pocanozzz
Всем привет!
вот есть xml :

<simpleviewerGallery>

<image>

<filename>pict1620.jpg</filename>

<caption>caption1</caption>

</image>
<image>

<filename>pict1620.jpg</filename>

<caption>caption2</caption>

</image>


</simpleviewerGallery>

Мне нужно удалить один image(жирный=D), и искать его по внутреннему ноду caption. Всё не могу дорубить этот xpath! Подскажите плз.



Спустя 4 дня, 18 часов, 22 минуты, 53 секунды (6.09.2009 - 12:49) P i L o T написал(а):
Не знаю насчет X-path, но подобную задачу можно решить и при помощи DOM.
Вот функция, в нее передается текст caption'a внутреннего тега image
PHP
function deleteMsg($parameter) {
$db_name = new DOMDocument();
$db_name->load("db.xml");
$root = $db_name->documentElement; // в данном случае simpleviewerGallery
//теперь выбираем все теги caption и image  
$caption = $db_name->getElementsByTagName("caption");
$image = $db_name->getElementsByTagName("image");
  for ($i = 0; $i < $image->length; $i++) {
    if ($caption->item($i)->textContent == $parameter) {
    $root->removeChild($image->item($i));
  }
}

т.е. идет перебор всех caption'ов по их содержанию, если содержание совпадает с условием, то удаляется родитель image(т.к. $i у них одинаковые)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.