[SimpleXML] Requête xpath sur deux balises
Bonjour,
Jusqu'à présent, j'utilisais ce fichier XML :
Code:
1 2 3 4 5 6 7
|
<item>
<title>Mon titre</title>
<price>335</price>
<category>TABLE PROMO</category>
<link>ma-page.htm</link>
</item> |
Et pour extraire les tables en promo, je faisais cela :
Code:
1 2 3 4 5 6 7 8
|
<?php
$xml = simplexml_load_file('../fichier.xml');
$items = $xml->xpath('//item/category[contains(.,"TABLE") and contains(.,"PROMO")]/.. ');
foreach($items as $item){
echo '<p> bla bla bla</p>';
}
?> |
Je souhaiterais faire évoluer mon fichier xml de la façon suivante :
Code:
1 2 3 4 5 6 7 8
|
<item>
<title>Mon titre</title>
<oldprice>335</oldprice>
<price>300</price>
<category>TABLE</category>
<link>ma-page.htm</link>
</item> |
Et donc pour cette même requête extraire <category> = TABLE et <oldprice> = NON VIDE
Je n'y arrive pas ....
Quelqu'un aurait-il une idée ?
1000 mercis
Jm
Xpath sur deux noeuds différents
Re bonjour,
J'ai résolu une première partie :)
Avec ceci j'arrive bien à trouver les promos :
Code:
1 2
|
$items = $xml->xpath('//item/oldprice[.>0]/.. '); |
Mais je n'arrive pas à réunir les deux noeuds. Parmi mes nombreuses tentatives, voici la dernière :
Code:
1 2
|
$items = $xml->xpath('//item[oldprice[.>0] and category[contains(.,"TABLE")]]/.. '); |
Quelqu'un voit-il comment je peux m'en sortir ?
1000 mercis,
Jm