Php XPath中的实现条件

Php XPath中的实现条件,php,xml,xpath,simplexml,Php,Xml,Xpath,Simplexml,我有一个XML文件 <?xml version="1.0" encoding="UTF-8"?> <xml> <events date="12/12/2010"> <event> <title>JqueryEvent</title> <description> easily </description> </event>

我有一个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表达式中指定日期

i、 e

将仅选择示例中的最后一个事件节点使用

$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”的日期属性的所有事件节点,请执行以下操作

另外,您可以使用直接加载XML文件

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