У меня есть 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 напрямую.