Précédent   Forum des professionnels en informatique > Autres langages > XML/XSL et SOAP
XML/XSL et SOAP Forum d'entraide sur XML et SOAP. Avant de poster -> FAQ XML, Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 18h05   #1
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 8
Points : 1
Points : 1
Par défaut Récupérer la valeur du noeud selon attribut précis en php

Bonjour,

Comment afficher la valeur du noeud avec un attribut spécifique ?

Les noeuds sont du type :
<date value="print">10 janvier 2010</date>
<date value="update">15 mars 2010</date>

Comme on peut voir, il y a plusieurs noeuds "date" avec des attributs "value" différents. Je ne veux que la valeur du noeud pour laquelle on a "value=update"

Voici un bout de code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$recherche2 = '//info[contains(title,"grand")]';
$titres2 = $item->xpath($recherche2); 
	
    if($titres2)

    {
    foreach($titres2 as $actu2)

    { 
 
     echo '<a href= "'.htmlentities((string)$item->link).' ">'.utf8_decode($actu2->title).'</a>&nbsp;'.($item->product->price).' euros <br /> DATE : '.??????????????).'<br />';

    }
A la place des points d'interrogation, je souhaiterais une formule pour afficher la date pour laquelle value=update

Si je mets : $actu2->date['value'] , cela me renvoie "update" (si pas de noeud print, sinon rien du tout) or ce n'est pas la valeur de l'attribut que l'on souhaite mais celle du noeud soit - dans notre exemple - "15 mars 2010".

Quelle est la bonne syntaxe ?

Merci d'avance
vogur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 20h00   #2
Modérateur
 
Avatar de polymorphisme
 
Homme Grégory Roche
GED (Gestion Electronique de Documentation)
Inscription : octobre 2009
Messages : 1 068
Détails du profil
Informations personnelles :
Nom : Homme Grégory Roche
Âge : 38
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : GED (Gestion Electronique de Documentation)

Informations forums :
Inscription : octobre 2009
Messages : 1 068
Points : 1 447
Points : 1 447
Bonjour,

si ton expression XPath est "//info[contains(title,"grand")]"
alors on n'as pas le XML pour comprendre comment tu sélection tes noeuds !
__________________
polymorphisme.com
Article : Installation de Cocoon
Je ne réponds pas aux MP à caractère technique.
polymorphisme est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/01/2012, 06h52   #3
Membre confirmé
 
Inscription : octobre 2011
Messages : 188
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 188
Points : 287
Points : 287
Comme ça?
Code :
1
2
 
echo 'etc etc DATE : '.array_pop($actu2->xpath('date[@value="update"]')).'<br />';
tsuji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 11h14   #4
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 8
Points : 1
Points : 1
Par défaut Merci

Merci, c'est exactement ça.

Je pensais pourtant avoir essayé toutes les syntaxes ! En fait, je ne mettais pas le terme xpath dans mon echo.
vogur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h03.


 
 
 
 
Partenaires

Hébergement Web