2010-07-28 29 views
2

需要基于大于日期属性的xpath xml数据。下面日期中的破折号会阻止大于号的符号工作。有没有办法在运行中删除XML中的破折号?xpath基于大于日期的php排序属性

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."']]"); 

回答

4

您可以试试:

$rdate = 20100701; 

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

编辑:应该注意的是,在XPath 2.0中,compare()函数可用(-1更小,0等于1更高),因此您可以比较字符串。据我所知大多数PHP实现仍在使用XPath 1.0。

+0

正是我在找的,谢谢。 – Jeffrey 2010-07-29 00:03:44