Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOM
DOM Forum d'entraide pour l'extension DOM permettant de manipuler des documents XML en PHP 5 (approche DOM). Avant de poster -> tutoriels DOM
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 09/11/2007, 16h37   #1
Invité régulier
 
Inscription : avril 2006
Messages : 29
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 29
Points : 6
Points : 6
Par défaut [DOM] récupération d'une balise par la valeur de son attribut

Je dispose d'un fichier xml avec une succession de balise <semaine> possédant chacune un attribut date avec la valeur de cette date.
Y a-t-il une méthode sous dom permettant de recupérer une balise semaine spécifique à l'aide de la valeur de son attribut date?
slyfer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 00h00   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 835
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 835
Points : 3 468
Points : 3 468
Oui avec XPath http://fr.php.net/manual/fr/function...-construct.php
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 08h31   #3
Invité régulier
 
Inscription : avril 2006
Messages : 29
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 29
Points : 6
Points : 6
Merci pour ces infos mais g parcouru toutes les fonctions existantes et j'en vois aucune qui me retournerait un noeud à partir du contenu de l'un de ses attributs.

Concrètement voici un bout de mon code:
Code :
1
2
3
4
5
6
7
 
<semaine date="08-11-2007"></semaine>
<semaine date="15-11-2007"></semaine>
<semaine date="22-11-2007"></semaine>
<semaine date="29-11-2007"></semaine>
<semaine date="05-12-2007"></semaine>
<semaine date="12-12-2007"></semaine>
Comment demander par exemple de me retourner la balise semaine correspondant à la valeur de date "22-11-2007" ?
slyfer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 10h17   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Avec une expression XPath (bis) :
Code :
1
2
3
4
5
6
7
8
9
10
11
$date = '29-11-2007';
 
$dom = DomDocument::load('monFichier.xml');
$xpath = new DomXPath($dom);
$semaines = $xpath->query('//semaine[@date = "' . $date . '"]');
if ($semaines) {
    foreach ($semaines as $sem) {
        // Traiter le noeud
    }
    // Ou s'il n'y en a qu'une : $sem = $semaines->item(0);
}
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2007, 13h50   #5
Invité régulier
 
Inscription : avril 2006
Messages : 29
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 29
Points : 6
Points : 6
Ok merci!
slyfer 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 00h48.


 
 
 
 
Partenaires

Hébergement Web