【问题标题】:xpath php sort attribute based on greater than date基于大于日期的xpath php排序属性
【发布时间】:2010-07-28 23:43:27
【问题描述】:

需要基于大于日期属性的 xpath xml 数据。下面日期中的破折号阻止大于符号起作用。有没有办法即时删除 xml 中的破折号?

XML

<revisions>
  <revision date="2010-07-12">blah</revision>
  <revision date="2010-06-12">blah</revision>
</revisions>

PHP

$rdate = 2010-07-01;
$programs = $item->xpath("/programs/program[revisions/revision[@date>'".$rdate."']]");

【问题讨论】:

    标签: php xml xpath


    【解决方案1】:

    你可以试试:

    $rdate = 20100701;
    
    /programs/program[revisions/revision[translate(@date,'-','') > '20100701']
    

    编辑:应该注意,在 XPath 2.0 中,compare() 函数可用(-1 小,0 相等,1 大),所以你可以只比较字符串。据我所知,尽管大多数 PHP 实现仍在使用 XPath 1.0。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-25
        • 2021-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-16
        相关资源
        最近更新 更多