2010-10-21 2 views
1

Я создаю фотогалерею, создавая объект на основе XML-файла.SimpleXML get next/prev node

Как я могу захватить следующий и предыдущий узлы? Вот как выглядит мой базовый код:

$xmlData = new SimpleXMLElement(file_get_contents("data.xml")); 
foreach($xmlData->row as $item) { 
    if ($item->url == $_GET['id']) { 
     // show photo 
     $title = $item->title; 
    } 
} 

ответ

0

Используется только в том случае, если следующие/предыдущие узлы одного типа. Если вы хотите более сложную обработку, используйте DOM.

$xmlData = new SimpleXMLElement(file_get_contents("data.xml")); 
$index = 0; 
foreach($xmlData->row as $item) { 
    if ($item->url == $_GET['id']) { 
     // show photo 
     $title = $item->title; 

     $prev = $xmlData->row[$index-1]; 
     $next = $xmlData->row[$index+1]; 
    } 
    $index++; 
} 
+0

Alin, спасибо за изменения для моего сообщения для ясности; ты восхитителен! Это отлично поработало. –