IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

recuperation de donnee a partir d'un .xml


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 40
    Points : 43
    Points
    43
    Par défaut recuperation de donnee a partir d'un .xml
    Bonjour,

    Je compare 2 .xlm, j'arrive a récupérer les ID contact qui ne sont pas present et les ID ajoutés dans le fichier 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
     
    $file = "./xml/111208_exp1.xml";
    $file2 = "./xml/111208_exp2.xml";
     
    $xml = simplexml_load_file($file);
    $xml2 = simplexml_load_file($file2);
     
    $coucou = $xml->xpath("//Contact");
    $caca = $xml2->xpath("//Contact");
     
    function caca($coucou,$caca){
    $xM1 = array();
    $xM2 = array();
    	foreach($coucou as $element){
    		$xM1[] = (string)$element->n[1]["valeur"];
    	}
    	foreach($caca as $element){
    		$xM2[] = (string)$element->n[1]["valeur"];
    	}
    	echo "les id manquants dans le fichier 2 a partir du fichier 1 sont :  <br/><br/>";
    	foreach($xM1 as $case){
    		if(!in_array($case, $xM2)){
    			echo $case."<br/>";
    		}
    	}
    	echo "<br/>les id qui ont etes ajoute au fichier 2 sont : <br/><br/>";
    	foreach($xM2 as $case){
    		if(!in_array($case, $xM1))
    			echo $case."<br/>";
    	}
    }
     
    caca($coucou, $caca);
     
    ?>
    voici un exemple de block de contact xlm, ce sont toutes les informations que je veux recuperer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <Contact>
    <n champ="Identifiant orga" valeur="818" />
    <n champ="Identifiant contact" valeur="1356789979" />
    <n champ="Nom" valeur="*****" />
    <n champ="Prénom" valeur="François" />
    <n champ="Fonction" valeur="Vice-" />
    <n champ="Photo" valeur="35-ANDRE-F-13977" />
    <n champ="Nom du canton" valeur="R*****" />
    <n champ="Année de renouvellement" valeur="20*****" />
    <n champ="Téléphone du Conseiller" valeur="*****075" />
    <n champ="Fax du Conseiller" valeur="0*****" />
    <n champ="Mail du Conseiller" valeur="fr*****.fr" />
    </Contact>
    Le probleme c'est que je voudrai non seulement recuperer les ID mais aussi les noms, prenoms, Fonction ect
    mais je ne sais pas comment faire, avez vous des idees ?

  2. #2
    Membre averti
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 412
    Points
    412
    Par défaut
    salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $xM2[] = (string)$element->n[1]["champ"];
    est ce que c'est ça ?

    @+

    Mic
    Toutes mes références en ligne : http://www.developpeur-web-php.fr

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 40
    Points : 43
    Points
    43
    Par défaut
    En fait quand je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $xM1[] = (string)$element->n[1]["champ"];
    cela m'affiche :
    Ce que je veux c'est afficher toutes les valeurs de mon objet Contact :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <Contact>
    <n champ="Identifiant orga" valeur="818" />
    <n champ="Identifiant contact" valeur="1356789979" />
    <n champ="Nom" valeur="*****" />
    <n champ="Prénom" valeur="François" />
    <n champ="Fonction" valeur="Vice-" />
    <n champ="Photo" valeur="35-ANDRE-F-13977" />
    <n champ="Nom du canton" valeur="R*****" />
    <n champ="Année de renouvellement" valeur="20*****" />
    <n champ="Téléphone du Conseiller" valeur="*****075" />
    <n champ="Fax du Conseiller" valeur="0*****" />
    <n champ="Mail du Conseiller" valeur="fr*****.fr" />
    </Contact>
    Mais je n'y arrive pas :/

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $xM2[] = (string)$element->n[1]["valeur"];
    En structure SimpleXml ça se traduit par : l'attribut "valeur" de la 2e balise "n" enfant de $element
    Donc si tu veux tous les champs valeurs de ta balise contact il faut que tu boucles sur les balises n, avec quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($coucou as $element){
        foreach ($element->n as $balise_n){
            $xM1[] = (string)$balise_n["valeur"];
        }
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 40
    Points : 43
    Points
    43
    Par défaut
    Merci beaucoup ton aide m'a ete precieuse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recuperation de donnee a partir d'un .aspx
    Par Julydre dans le forum LabVIEW
    Réponses: 0
    Dernier message: 23/03/2015, 15h16
  2. Réponses: 1
    Dernier message: 07/04/2008, 10h25
  3. Réponses: 4
    Dernier message: 10/07/2006, 11h22
  4. Récupération des données à partir d'un menu
    Par projetM dans le forum Langage
    Réponses: 2
    Dernier message: 22/05/2006, 00h29
  5. [XML] Récupérer des données parsées
    Par bartmarley dans le forum Modules
    Réponses: 7
    Dernier message: 31/05/2005, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo