IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[XML] SimpleXML écrire dans un fichier XML existant


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 16
    Points : 12
    Points
    12
    Par défaut [XML] SimpleXML écrire dans un fichier XML existant
    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 :
    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>
    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
     
    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.');
    				}
    			}
    quand je teste j'ai l'erreur suivante :
    Warning: 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'
    ... help

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    hmmm perso je t'avouerai que j'ai un fichier XML tellement énorme que je me casse pas la tête à utiliser ça...

    fwrite() marche tout aussi bien...

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Bon je pense que j'ai trouvé une solutuion avec DOM

    Merci darkstar123456 pour ta réponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML] [PHP-Flash] écrire dans un fichier XML via un fichier PHP
    Par morgiane dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 24/11/2006, 13h05
  2. [DOM XML] Comment écrire dans un fichier XML ?
    Par morgiane dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 14/11/2006, 12h32
  3. [Excel] Écrire dans un fichier Excel existant
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 01/05/2006, 17h06
  4. lire / écrire dans un fichier excel au format xml
    Par crisflo dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 28/01/2006, 11h50
  5. [Rech. Comp.] Lire et écrire dans des fichiers XML
    Par Rodrigue dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/08/2005, 21h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo