Search code examples
phpxmlxpathsimplexml

Implementing condition in XPath


I have a XML file

<?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>

And I am using this Xpath to select the nodes

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

It will select all the nodes.I want to select the nodes based on the date.


Solution

  • Specify the date in the xpath expression,

    i.e.

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

    would select only the last events-node in the example