如何通过php通过xml xpath找到nil元素

时间:2012-02-21 02:27:33

标签: php xml xpath null xml-nil

我有一些零元素。返回的元素在时间戳中,我想使用getdate()将所有nil元素转换为当前日期。如果我没有使用正确的术语或提出正确的问题,我很抱歉,如果您理解,请随时编辑。

这是XML:

<tickets type="array" count="2">
  <ticket>
    <solved-at type="datetime">2012-02-20T17:58:34-05:00</solved-at>
  </ticket>
  <ticket>
    <solved-at type="datetime" nil="true"/>
  </ticket>
</tickets>

php:

    $xml = new SimpleXMLElement($result);
    $solved_at = $xml->xpath('ticket/solved-at');
    ... array
    echo "Ticket time solved at:" . $solved_at[$i]. "<br/>";

返回:

Ticket time solved at:2012-02-20T17:58:34-5:00<br/>
Ticket time solved at:

我想在UNIX中返回当前日期时间,以获取xml中的空值,任何想法?我尝试了以下但无济于事,我得到与上面相同的结果:

if (is_null($solved_at[$i])) {
        $solved_at = getdate(); }

1 个答案:

答案 0 :(得分:1)

试试这个。

$xml = simplexml_load_file("solved.xml");
$solved_at = $xml->xpath('ticket/solved-at');

foreach($solved_at as $solved) {
    if ($solved['nil']) { 
      $r = date('Y-m-d h:i:s a', time()); //getdate(); 
    }
    echo "Ticket time solved at:" . $r. "<br/>";
}