xpath php sort attribute based on greater than date
Need to xpath xml data based on greater than date attribute. The dashes in the date below prevent the greater than symbol from working. Is there a way to remove the dash开发者_开发技巧es in the xml on the fly?
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."']]");
You might try:
$rdate = 20100701;
/programs/program[revisions/revision[translate(@date,'-','') > '20100701']
Edit: one should note that in XPath 2.0 the compare()
function is available (-1 smaller, 0 equal, 1 higher), so you can just compare strings. As far is I know most PHP implementations are still using XPath 1.0 though.
http://php.net/manual/en/function.str-replace.php
str_replace($date, '-', '')
精彩评论