需要基于大于日期属性来 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."']]");
最佳答案
你可以尝试:
$rdate = 20100701;
/programs/program[revisions/revision[translate(@date,'-','') > '20100701']
编辑:应该注意,在 XPath 2.0 中,可以使用 compare()
函数(-1 较小,0 等于,1 较高),因此您可以只比较字符串。据我所知,大多数 PHP 实现仍在使用 XPath 1.0。
关于php - xpath php基于大于日期的排序属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3358429/