Je met en place un script de connexion à un webservice interrogé en REST.
Le serveur sur lequel étant hébergé ce webservice disposant de certaines limitations en terme d'interrogation et parceque le flux XML renvoyé par le serveur étant inutilement alourdi, j'ai décidé, avant de mettre en cache sur mon propre serveur les information, de "réécrire" le flux XML.
Voici la partie du flux XML retourné après interrogation sur laquelle je bute :
Code : Tout sélectionner
...
<CollectionCaracteristique>
<Caracteristique IdCaracteristique="25"/>
<Caracteristique IdCaracteristique="36"/>
<Caracteristique IdCaracteristique="41"/>
<Caracteristique IdCaracteristique="42"/>
</CollectionCaracteristique>
<CollectionComplement>
<Complement>
<Libelle>
<Contenus>
<Contenu IdLangue="it">Accès internet</Contenu>
</Contenus>
</Libelle>
</Complement>
<Complement>
<Libelle>
<Contenus>
<Contenu IdLangue="it">Anglais parlé</Contenu>
</Contenus>
</Libelle>
</Complement>
<Complement>
<Libelle>
<Contenus>
<Contenu IdLangue="it">Animations (Loisirs à  proximité)</Contenu>
</Contenus>
</Libelle>
</Complement>
<Complement>
<Libelle>
<Contenus>
<Contenu IdLangue="it">Animaux interdits</Contenu>
</Contenus>
</Libelle>
</Complement>
</CollectionComplement>
...Je souhaite réécrire cette partie du flux de la façon suivante :
Code : Tout sélectionner
...
<caracteristics>
<caracteristic id="25">texte</caracteristic>
<caracteristic id="36">texte</caracteristic>
<caracteristic id="41">texte</caracteristic>
<caracteristic id="42">texte</caracteristic>
</caracteristics>
...//Caracteristics node
$carId = array();
$carTexts = array();
foreach($node->CollectionCaracteristique->Caracteristique as $car)
$carId[] = $car->attributes()->IdCaracteristique;
foreach($node->CollectionComplement->Complement as $carText)
$carTexts[] = $carText->Libelle->Contenus->Contenu;
$car = $apt->addChild('caracteristics');
for($i = 0;$i < count($carId);$i++)
$car->addChild('caracteristic',$carTexts[$i])->addAttribute('id',$carId[$i]);
Et voici le XML généré (objet SimpleXML) :Code : Tout sélectionner
[caracteristics] => SimpleXMLElement Object
(
[caracteristic] => Array
(
[0] => Accès internet
[1] => Anglais parl├â┬®
[2] => Animations (Loisirs ├â┬á├é┬á proximit├â┬®)
[3] => Animaux interdits
)
)Une idée d'où vient le problème et comment y remédier ?
Merci