Forum Clubic

Recuperer valeur xml en php

Bonjour, j aimerais recupere la valeur des liens dans ce fichier xml en php

Edité le 05/07/2013 à 21:12

J arrive maintenant a affiche le premier lien avec

echo ‘

  • ’.$v->attachments->media[‘src’].’
  • ’;

    mais pas les autre…

    Et comme ça :

    foreach ($v->attachments->media as $i => $value) {
      echo '<li>', $value['src'], '</li>';
    }
    

    oui impec çà fonctionne
    Cela dit je bloque encore pour l integrer dans ma base de donne y aurais une facon de faire comme çà

    $var1 = $value[‘scr’][0];
    $var2 = $value[‘scr’][1];
    $var3 = $value[‘scr’][2];
    $var4 = ect…

    Non. A l’envers : $value[0][‘src’], et je t’ai donné la façon implicitement : la boucle foreach fait ce travail, à toi de faire ta requête d’insert dans la boucle pour insérer autant de ligne que tu n’as de balises

    j ai ce message d erreur quand je met comme tu as dis ,

    Warning: main() [function.main]: Cannot add element media number 1 when only 0 such elements exist in /essai.php on line 56

    Warning: main() [function.main]: Cannot add element media number 2 when only 0 such elements exist in /essai.php on line 57

    sinon tu peut me mettre sur la voie pour la boucle pour inserer

    je recupere les valeur comme ceci

    $photo1 = (!empty($value[0][‘src’])) ? mysql_real_escape_string($value[0][‘src’]) : ‘’;
    $photo2 = (!empty($value[1][‘src’])) ? mysql_real_escape_string($value[1][‘src’]) : ‘’;
    $photo3 = (!empty($value[2][‘src’])) ? mysql_real_escape_string($value[2][‘src’]) : ‘’;
    Edité le 06/07/2013 à 14:15

    Encore une fois, au risque de me répéter, je le fais dans une boucle sur un objet supportant l’itération.
    Si la classe de ton objet (ici SimpleXMLElement) n’implémente pas ArrayAccess (voir www.php.net… ), alors tu ne peux pas faire $value[0]. $value[‘src’] fonctionne car SimpleXML transforme chaque attribut XML en propriété de l’objet.
    Tu as cependant cette méthode : www.php.net… qui te renvoie un tableau avec la liste des enfants, donc :

    $values = $v->attachments->children();
    echo $values[0]['src'];
    echo $values[1]['src'];
    echo $values[2]['src'];
    

    devrait fonctionner…
    Edité le 06/07/2013 à 17:07

    ok c est bon resolu , merci