Bonjour,

Je suis nouveau en php et j'ai un petit soucis.
Je dois parser un fichier xml et en retirer toutes les données. Les données souhaitées seront demandées via l'url.
Pour le moment je tente d'afficher toutes les données dans mon object[0] mais je suis un peu perdu.
Auriez vous une méthode plus facile que d'afficher le contenus via 50lignes d'echo (il y a des erreurs d'object).

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
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "127.0.0.1/cdt_Evenement.xml");
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$xml = curl_exec($curl);
$xmlString = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $xml); 
$xml = new simpleXMLElement($xmlString);
echo "<pre>".print_r($xml, 1)."</pre>";
foreach ($xml->object as $v)
{
	//echo $v->cdtNomAnnonce->fr."<br/>";
	//echo $v->cdtEvenementType->cdtType_niv1->cdtType->fr."<br/>";
	//echo $v->cdtEvenementType->cdtType_niv2->cdtType->fr."<br/>";
	//echo $v->cdtThemeEvenement->cdtTheme_niv1->cdtTheme->fr."<br/>";
	//echo $v->cdtThemeEvenement->cdtTheme_niv2->cdtTheme->fr."<br/>";
	//echo $v->cdtThemeEvenement->cdtTheme_niv3->cdtTheme->fr."<br/>";
	//echo $v->cdtEvenementPere->cdtInformationsGenerales->cdtNomAnnonce->fr."<br/>";
	//echo $v->cdtEvenementPere->cdtInformationsGenerales->cdtEvenementType->cdtType_niv1->cdtType->fr."<br/>";
}
?>
et voici une partie de la structure du 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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
   SimpleXMLElement Object
(
 [object] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => 13EVT022083
                        )
 
                    [cdtInformationGenerales] => SimpleXMLElement Object
                        (
                            [cdtNomAnnonce] => SimpleXMLElement Object
                                (
                                    [fr] => Le petit atelier ou comment peindre le soleil
                                    [en] => Le petit atelier ou comment peindre le soleil
                                    [de] => Le petit atelier ou comment peindre le soleil
                                    [it] => Le petit atelier ou comment peindre le soleil
                                    [nl] => Le petit atelier ou comment peindre le soleil
                                )
 
                            [cdtEvenementType] => SimpleXMLElement Object
                                (
                                    [cdtType_niv1] => SimpleXMLElement Object
                                        (
                                            [cdtType] => SimpleXMLElement Object
                                                (
                                                    [fr] => Expositions - Rétrospectives
                                                    [en] => Expositions - Rétrospectives
                                                    [es] => Expositions - Rétrospectives
                                                    [de] => Expositions - Rétrospectives
                                                    [it] => Expositions - Rétrospectives
                                                    [nl] => Expositions - Rétrospectives
                                                )
 
                                        )
 
                                    [cdtType_niv2] => SimpleXMLElement Object
                                        (
                                            [cdtType] => SimpleXMLElement Object
                                                (
                                                    [fr] => Exposition
                                                    [en] => Exposition
                                                    [es] => Exposition
                                                    [de] => Exposition
                                                    [it] => Exposition
                                                    [nl] => Exposition
                                                )
 
                                        )
 
                                )
Merci pour votre aide.