Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche DOM).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/04/2011, 17h55   #1
Invité de passage
 
Inscription : avril 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 2
Points : 0
Points : 0
Par défaut 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 :
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 :
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
abauser1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 22h25   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
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 :
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
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/04/2011, 00h04   #3
Invité de passage
 
Inscription : avril 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 2
Points : 0
Points : 0
1000 merci
je v tester
abauser1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 10h22   #4
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
+1 même si ça ne mettra pas la ligne en 2nd place mais en dernière

Comme on peut le voir ici :
Code :
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)
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h10.


 
 
 
 
Partenaires

Hébergement Web