Ответ 1
Укажите дату в выражении xpath,
то есть.
$nodes = $xml->xpath('//xml/events[@date="14/12/2011"]');
выберет только последние события - node в примере
У меня есть файл 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"]');
выберет только последние события - node в примере
Использование
$xml = simplexml_load_string($xml);
$nodes = $xml->xpath('//events[@date="14/12/2011"]');
print_r( $nodes );
чтобы получить событие node ниже xml node с указанной датой и
$xml = simplexml_load_string($xml);
$nodes = $xml->xpath('//xml/events[@date]');
print_r( $nodes );
чтобы получить все события ниже узлов xml node, имеющих атрибут даты. Аналогичным образом используйте
$xml = simplexml_load_string($xml);
$nodes = $xml->xpath('//events[contains(@date, "2011")]');
print_r( $nodes );
чтобы найти все узлы событий в любом месте документа с атрибутом даты, содержащим строку "2011".
На боковой панели вы можете использовать simplexml_load_file
для загрузки файла XML напрямую.