bonjour,
j'aimerais updater un fichier XML avec simpleXML.
Pour cela j'utilise un petit formulaire qui me permet de rentrer des données.
Le fichier xml :
et le code 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32<?xml version="1.0" encoding="UTF-8"?> <items> <item> <image>test13.jpg</image> <titre>titre 1</titre> <legende><![CDATA[<h1>This is a headline</h1><p>This is a line of text. <span class='bluetext'>This line of text is colored blue.</span></p>]]></legende> <hauteur>273</hauteur> <largeur>500</largeur> </item> <item> <image>test12.jpg</image> <titre>titre 2</titre> <legende>Légende 2</legende> <hauteur>273</hauteur> <largeur>500</largeur> </item> <item> <image>test11.jpg</image> <titre>titre 3</titre> <legende>Légende 3</legende> <hauteur>273</hauteur> <largeur>500</largeur> </item> <item> <image>test10.jpg</image> <titre>titre 4</titre> <legende>Légende 4</legende> <hauteur>273</hauteur> <largeur>500</largeur> </item> </items>
quand je teste j'ai l'erreur suivante :
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 if(isset($_POST['submititems'])){ if (file_exists($XMLfile)) { $XML = simplexml_load_file($XMLfile); foreach($_POST as $fieldset=>$currentitem){ if($fieldset != 'nbimgs'&& $fieldset != 'submititems'){ $XMLobject = new SimpleXMLElement ($XML); $XMLobject->items[5]->addChild('item'); foreach($currentitem as $propname=>$propval){ $nouvelitem->$propname=$propval; } $i++; } } } else { exit('Failed to open XML file.'); } }
... helpWarning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 6: parser error : Start tag expected, '<' not found
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML'
Partager