2010-07-28 8 views
2

Besoin de données xpath xml basées sur un attribut supérieur à la date. Les tirets de la date ci-dessous empêchent le symbole supérieur de fonctionner. Y at-il un moyen de supprimer les tirets dans le XML à la volée?Attribut de tri xpath php basé sur une date supérieure à la date

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

Répondre

4

Vous pouvez essayer:

$rdate = 20100701; 

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

Edit: il faut noter que dans XPath 2.0 la fonction compare() est disponible (-1 plus petit, 0 égal, 1 plus haut), donc vous pouvez juste comparer des chaînes. En ce qui me concerne, la plupart des implémentations PHP utilisent encore XPath 1.0.

+0

juste ce que je cherchais, merci. – Jeffrey

Questions connexes