Passer en paramètre l'id d'un élément XML

Résolu
Bonjour à tous,

Voici mon souci:

Je souhaiterais passer en paramètre l'id d'un élément XML, en PHP. En effet, dans mon fichier XML, j'ai un id attribué à ma balise <cv> comme ceci:

<cv id="1">

Je l'ai récupérer et stocké dans une variable $liste dans un fichier php à l'aide d'un $_POST. Seulement maintenant, je souhaiterais passer en paramètre cette variable afin d'afficher un résultat en fonction de ce qu'elle contient:

J'ai essayé avec cette méthode:

foreach ($cv->attributes(id)=$liste) {
ou encore
foreach ($cv->attributes()=$liste) {

Mais ce ne sont pas des syntaxes correctes.

Merci d'avance pour ceux qui m'aideront.
Configuration: Windows XP
Firefox 2.0.0.12

6 réponses

  1. Bonjour,

    Il me semble que le foreach s'utilise de cette manière :

    foreach($cv->attibutes() as $a => $b)

    La variable $a va te donner "id" et la variable $b la valeur de l'id la, $b te donnera 1.

    C'est comme ça j'ai fait et ça marche...

    Bonne journée,
    Thamior.
    0
    1. Bonjour,

      Pour commencer, merci de m'avoir répondu aussi rapidement.

      J'ai oublié un gros détail dans mon explication:

      J'ai un fichier index.php qui permet à un utilisateur de choisir un cv parmis tous ceux qui figurent dans mon fichier XML. Dans mon exemple précédent, j'ai pris le cas ou c'est le CV ayant l'id 1 qui a été choisi. Et donc ma variable $liste ne correspond pas toujours à 1, mais correspond a l'id du cv choisi par un utilisateur.

      Et donc je souhaiterais afficher le contenu de mon fichier XML en fonction de l'id du cv. C'est pour cela que je cherche à traduire en php: "Pour les balises <cv> ayant pour id $liste, j'affiche le contenu".

      Merci d'avance
      0
      1. En partant de ce que tu m'as dit :

        J'imagine que tu utilises un formulaire avec la liste des cv possible et donc tu dois avoir un variable $id avec la valeur de l'id du cv voulu.

        Si c'est bien comme ça que tu as fait :
        foreach($cv->attibutes() as $a => $b)
        {
        if($a == "id" && $b == $id)
        {
        // tu mets ici le code qui affiche ce qui se trouve dans le cv selectionné
        }
        }

        Je partirai vers cette voie pour continuer ton développement.
        Regarde sur le site : http://fr.php.net/dom

        Je ne suis pas un très expert du DOM mais c'est quelques choses comme ça je ferai.

        Thamior.
        0
        1. Ça fonctionne! (dans mon cas la variable $id de ton exemple correspond à $liste dont je parlais dans mes messages).

          Un grand merci pour ton aide précieuse!
          0
          1. De rien, content d'avoir pu t'aider :).

            Bonne fin de journée,
            Thamior.
            0
            1. Bonjour,

              Si par miracle vous voyez ce message (5 ans après...), pourriez-vous m'envoyer votre code ?

              - index.php
              - ...

              Merci énormément (si vous voyez ce message)
              0