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 :

[SimpleXML] manipulation d'un fichier xml en utilisant php


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Par défaut [SimpleXML] manipulation d'un fichier xml en utilisant php
    bonjour
    je voudrai editer un fichier xml en utilisant php et ajouter une ligne
    <Cube currency='tnd' rate='1.4'/> dans la liste
    voici 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
    <?xml version="1.0" encoding="UTF-8"?>
    <gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
    	<gesmes:subject>Reference rates</gesmes:subject>
    	<gesmes:Sender>
    		<gesmes:name>European Central Bank</gesmes:name>
    	</gesmes:Sender>
    	<Cube>
    		<Cube time='2011-04-21'>
    			<Cube currency='USD' rate='1.4584'/>
    ici
    			<Cube currency='JPY' rate='119.52'/>
    			<Cube currency='BGN' rate='1.9558'/>
    			<Cube currency='CZK' rate='24.180'/>
                    </Cube>
    	</Cube>
    </gesmes:Envelope>
    j'ai utilisé le code suivant pour le faire mais le problème est que je n'arrive pas a insérer la ligne dans le le sous sous élément de plus il faut que le format de lélement ajouté soit semblable au autre existant sous <cube>.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $root = simplexml_load_file("fichiersource.xml");
     
    // 2. modification
    $account = $root->addChild("cube");
    $account->addAttribute("tnd","1.4");
     
     
    // 3. Synchronisation
    $root->asXml("fichiermisajour.xml");
    pouvez vous m'aider svp je suis perdu
    merci davance

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Bonjour,

    Tu ajoutes le nouvel élément à l'élément racine.

    Il faut d'abord récupérer le parent souhaité.

    Tu peux essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $root = simplexml_load_file('source.xml');
     
    $cube = $root->Cube->Cube;
     
    $new = $cube->addChild('Cube');
    $new->addAttribute('currency', 'tnd');
    $new->addAttribute('rate', '1.4');
     
    $root->asXml('dst.xml');
    ?>
    Bon développement

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 4
    Par défaut
    1000 merci
    je v tester

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    +1 même si ça ne mettra pas la ligne en 2nd place mais en dernière

    Comme on peut le voir ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Cube time="2011-04-21">
    	<Cube currency="USD" rate="1.4584"/>
    	ici
    	<Cube currency="JPY" rate="119.52"/>
    	<Cube currency="BGN" rate="1.9558"/>
    	<Cube currency="CZK" rate="24.180"/>
            <Cube currency="tnd" rate="1.4"/>
    </Cube>
    De mémoire, avec simplexml, c'est plutôt hard de les placer à l'endroit souhaité (je préfère DOMDocument là dessus)

Discussions similaires

  1. [SimpleXML] requête sur un fichier xml
    Par ANISSS dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 03/05/2007, 09h21
  2. [SimpleXML] lecture d'un fichier xml
    Par Raideman dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 12/04/2007, 18h03
  3. Manipulation d'un fichier XML en c
    Par fveysseire dans le forum XML
    Réponses: 9
    Dernier message: 30/03/2007, 11h20
  4. Manipulation d'un fichier XML avec Perl
    Par brahak dans le forum Modules
    Réponses: 3
    Dernier message: 01/05/2006, 22h36
  5. [SimpleXML] Fermeture d'un fichier XML
    Par FlyByck dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 12/01/2006, 15h10

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