Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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/12/2011, 12h18   #1
Futur Membre du Club
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 39
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 : 39
Points : 19
Points : 19
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 :
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 :
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 ?
soryo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 21h21   #2
Membre éclairé
 
Homme Michael Chusseau
Coordinateur développement web
Inscription : août 2004
Messages : 475
Détails du profil
Informations personnelles :
Nom : Homme Michael Chusseau
Âge : 29
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 : 392
Points : 392
salut

Code :
$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
mic79 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 19h47   #3
Futur Membre du Club
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 39
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 : 39
Points : 19
Points : 19
En fait quand je fait :
Code :
$xM1[] = (string)$element->n[1]["champ"];
cela m'affiche :
Ce que je veux c'est afficher toutes les valeurs de mon objet Contact :
Code :
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 :/
soryo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 11h30   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
Code :
$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 :
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)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est actuellement connecté   Envoyer un message privé Réponse avec citation 20
Vieux 13/12/2011, 11h57   #5
Futur Membre du Club
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 39
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 : 39
Points : 19
Points : 19
Merci beaucoup ton aide m'a ete precieuse
soryo 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 22h13.


 
 
 
 
Partenaires

Hébergement Web