2010-07-28 60 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