Условие выполнения в XPath

У меня есть XML-файл

<?xml version="1.0" encoding="UTF-8"?> <xml> <events date="12/12/2010"> <event> <title>JqueryEvent</title> <description> easily </description> </event> </events> <events date="14/12/2011"> <event> <title>automatically onBlur</title> <description> when a date is selected. For an inline calendar, simply attach the datepicker to a div or span. </description> </event> </events> </xml> 

И я использую этот Xpath для выбора узлов

 $xml = simplexml_load_file($file); $nodes = $xml->xpath('//xml/events'); 

Он выберет все узлы. Я хочу выбрать узлы на основе даты.

Укажите дату в выражении xpath,

т.е.

 $nodes = $xml->xpath('//xml/events[@date="14/12/2011"]'); 

выберет только последний узел событий в примере

использование

 $xml = simplexml_load_string($xml); $nodes = $xml->xpath('//events[@date="14/12/2011"]'); print_r( $nodes ); 

для получения узла события ниже узла xml с указанной датой и

 $xml = simplexml_load_string($xml); $nodes = $xml->xpath('//xml/events[@date]'); print_r( $nodes ); 

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

 $xml = simplexml_load_string($xml); $nodes = $xml->xpath('//events[contains(@date, "2011")]'); print_r( $nodes ); 

найти все узлы событий в любом месте документа с атрибутом даты, содержащим строку «2011».

На боковой панели вы можете использовать simplexml_load_file для загрузки файла XML напрямую.