需要基于大于日期属性的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."']]");
答案 0 :(得分:4)
您可以尝试:
$rdate = 20100701;
/programs/program[revisions/revision[translate(@date,'-','') > '20100701']
编辑:应该注意到在XPath 2.0中compare()
函数可用(-1更小,0相等,1更高),因此您可以只比较字符串。据我所知,大多数PHP实现仍在使用XPath 1.0。
答案 1 :(得分:0)
http://php.net/manual/en/function.str-replace.php
str_replace($date, '-', '')