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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
$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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.