猿问

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');

它将选择所有节点。我想根据日期选择节点。


江户川乱折腾
浏览 633回答 2
2回答

ABOUTYOU

在xpath表达式中指定日期,即$nodes = $xml->xpath('//xml/events[@date="14/12/2011"]');将仅选择示例中的最后一个事件节点

心有法竹

采用$xml&nbsp;=&nbsp;simplexml_load_string($xml);$nodes&nbsp;=&nbsp;$xml->xpath('//events[@date="14/12/2011"]');print_r(&nbsp;$nodes&nbsp;);获取具有指定日期的xml节点下方的事件节点,并$xml&nbsp;=&nbsp;simplexml_load_string($xml);$nodes&nbsp;=&nbsp;$xml->xpath('//xml/events[@date]');print_r(&nbsp;$nodes&nbsp;);获取具有date属性的xml节点下面的所有事件。同样,使用$xml&nbsp;=&nbsp;simplexml_load_string($xml);$nodes&nbsp;=&nbsp;$xml->xpath('//events[contains(@date,&nbsp;"2011")]');print_r(&nbsp;$nodes&nbsp;);查找日期属性包含字符串“ 2011”的文档中任何位置的所有事件节点。在旁注中,您可以用来simplexml_load_file直接加载XML文件。
随时随地看视频慕课网APP
我要回答