Soit deux fichiers que j'arrive facilement à manipuler en php sauf sur une condition.
1.xml
et 2.xml
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 <?xml version="1.0" encoding="utf-8"?> <utilisateurs> <nom identite="pierre"> <lieu> <ip>169</ip> </lieu> <lieu> <ip>10.113.22.2</ip> </lieu> </nom> <nom identite="Geraldine"> <lieu> <ip>169.158.50.1</ip> </lieu> <lieu> <ip>127</ip> </lieu> </nom> </utilisateurs>
Voici un script php qui est censé comparer si une adresse IP est commune dans les deux fichiers xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11<?xml version="1.0" encoding="utf-8"?> <connections> <nom identite="pierre"> <ip_con>169</ip_con> <heure>31-01-2009 - 14:26</heure> </nom> <nom identite="ger"> <ip_con>127</ip_con> <heure>31-01-2009 - 14:52</heure> </nom> </connections>
Ayant deux ip identiques (valeur 169 pour Pierre dans les deux fichiers),
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 $i=0; $utilisateurs= simplexml_load_file('2.xml'); foreach ($utilisateurs->nom as $nom) { $ip_con[$i]=$nom->ip_con; $i=$i+1; } $j=0; $connections= simplexml_load_file('1.xml'); foreach ($connections->nom as $nom) { echo $nom['identite']."<br />\n"; foreach ($nom->lieu as $lieu) { $ip=$lieu->ip; echo $ip_con[0]."<br />"; // pour le test echo $ip."<br />"; // pour le test if ($ip == $ip_con[$j]){ echo 'ip identique'; } ; echo "<br />\n"; } $j=$j+1; }
je devrais afficher un "ip identique"
Hélas en voici le résultat ;((
Après 3 heures de recherche, je m'en remets à vous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 pierre 169 169 169 10.113.22.2 Geraldine 169 169.158.50.1 169 127
Partager