Bonjour à tous 
Alors voilà, j'ai une fonction PHP qui fait ça
if (isset($response->catalogue->themes)) {
foreach ($response->catalogue->themes as $key => $value) {
foreach ($value->top->part as $part) {
$top[] = new Top($part->identifiant, $part->sujet, $part->libelleIncident);
}
$catalogue[] = new Theme($value->identifiant, $value->libelleCourt, $value->libelleLong, $value->description, $top, null);
}
} else {
$catalogue = null;
}
$response c'est la réponse de mon serveur SOAP.
En gros je boucle ici sur tous les "themes" du noeud "catalogue"
Pour vous donner une idée de mes données XML.
<themes>
<!--Zero or more repetitions:-->
<theme>
<identifiant/>
<libelleCourt>App. Bureautique</libelleCourt>
<libelleLong>Application bureautique</libelleLong>
<description>Suite Office, Adobe Reader, Flash player, Internet Explorer, Firefox</description>
<!--0 to 5 repetitions:-->
<top>
<part>
<identifiant/>
<sujet>EXCEL</sujet>
<libelleIncident>Tableau fractionné</libelleIncident>
</part>
<part>
<identifiant/>
<sujet>OUTLOOK</sujet>
<libelleIncident>Comment ajouter une archive</libelleIncident>
</part>
</top>
<sujets>
<!--Zero or more repetitions:-->
<sujet>
<identifiant/>
<libelleCourt>Outlook</libelleCourt>
<libelleLong>Outlook</libelleLong>
<incidents>
<!--Zero or more repetitions:-->
<incident>
<identifiant>Outlook_Archive</identifiant>
<libelle>Outlook - Création d'une zone d'archivage</libelle>
<erreursConnues/>
</incident>
</incidents>
</sujet>
</sujets>
</theme>
</themes>
Sur ce jeu de données je n'ai pas d'erreur, je récupère bien mon objet dans $catalogue[]
Le problème vient quand j'ai deux <theme> dans mon XML. Il ne boucle pas dessus...
Il faudrait que je fasse ça pour que ça fonctionne foreach ($response->catalogue->themes->'''theme''' as $key => $value)
Mais du coup ça ne fonctionne plus quand j'ai plus qu'un seul <theme>
Comment faudrait-il faire? Est-ce que j'ai la bonne approche? 