[SimpleXML] Enregistrer un document XML de manière formatée
Bonjour,
Je veux enregistrer un document XML. Mon problème c'est que j'utilise SimpleXML mais il me sort tous sur la même ligne. Je n'arrive pas à trouver le moyen pour qu'il indente ou passe juste a la ligne.
Ma structure est :
Code:
1 2 3 4 5 6 7 8
| <?xml version="1.0" encoding="UTF-8"?>
<fichier>
<subject>SUJET</subject>
<item type="radio" name="q1" display="line">1) Question1
<subitem val="q1|1">sdfsf</subitem>
<subitem val="q1|2">sfdsf</subitem>
</item>
</fichier> |
Voici ce que je fait en PHP :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| $filename = "data/fichier.xml";
if(!file_exists($filename)) {
$fp=fopen($filename,"w");
fputs($fp,'<?xml version="1.0" encoding="UTF-8"?>'."\n");
fputs($fp,"<fichier>"."\n");
fputs($fp,"\t"."<subject>".$_SESSION['nomform']."</subject>"."\n");
fputs($fp,"</fichier>");
fclose($fp);
}
$xml = simplexml_load_file($filename);
$question = $xml->addChild('item', $nbiA.") ".$libelle);
$question->addAttribute('type', $type);
$question->addAttribute('name', $name);
...
$xml->asXML($filename); |
Le résultat dans le fichier (après ajout de questions) :
Code:
1 2 3 4
| <?xml version="1.0" encoding="UTF-8"?>
<fichier>
<subject>SUJET</subject>
<item type="radio" name="q1" display="line">1) Question1<subitem val="q1|1">REP1</subitem><subitem val="q1|2">REP2</subitem></item></fichier> |
Si vous pouvez m'indiquer la démarche à suivre et me dire comment faire.
Merci d'avance.