Accueil > Forum > > > > Pb dom pr gnérer du xml
Pb dom pr gnérer du xml
mercredi 31 mai 2006 à 21:52:07 |
Pb dom pr gnérer du xml

chanandler
|
Bonjour, J'ai code php qui utilise dom qui marche presque sauf qu'il ne fais pas complétement ce que je veux, le code sera mieux qu'un long discours donc le voici. dom.php Code : <?php $dom=new DomDocument(); $dom->load("fichier.xml"); $newphoto = $dom->createElement('photo'); $newnom = $dom->createElement('nom','bapteme.jpg'); $newdescription = $dom->createElement('description'); $newevenenement = $dom->createElement('evenenement','bapteme'); $newprotagoniste = $dom->createElement('protagoniste'); $newpersonnage = $dom->createElement('max','personnage'); $newpersonnage = $dom->createElement('personnage','caroline'); $dom->appendChild($newphoto); $newphoto->appendChild($newnom); $newphoto->appendChild($newdescription); $newphoto->appendChild($newevenenement); $newphoto->appendChild($newprotagoniste); $newphoto->appendChild($newpersonnage); $newphoto->appendChild($newpersonnage); $dom->formatOutput = true; $dom->save("fichier.xml"); ?> Mon fichier xml Code : <?xml version="1.0" encoding="ISO-8859-1"?> <galerie> <photo> <nom>mariage.jpg</nom> <description> <evenement>mariage</evenement> <protagoniste> <personnage>Mamie</personnage> <personnage>pablo</personnage> </protagoniste> </description> </photo> </galerie> Ce que j'obtient aprés dom. Code : <?xml version="1.0" encoding="ISO-8859-1"?> <galerie> <photo> <nom>mariage.jpg</nom> <description> <evenement>mariage</evenement> <protagoniste> <personnage>Mamie</personnage> <personnage>pablo</personnage> </protagoniste> </description> </photo> </galerie> <photo> <nom>bapteme.jpg</nom> <description/> <evenenement>bapteme</evenenement> <protagoniste/> <personnage>caroline</personnage> </photo> donc voila le code que j'arrive a créé en rouge grace a mon fichier php sauf que je n'arrive pas a que ca ressemble exactement a ce qui est en bleu et bien sur j'aimerais que ce bout de code se retrouve entre les balise galerie Merci a vous !
|
|
jeudi 1 juin 2006 à 07:57:18 |
Re : Pb dom pr gnérer du xml

malalam
|
Hello,
Déjà, tu réécris $newpersonnage, donc seul le 2d est pris en compte, c'est normal... Donc : $newpersonnage = $dom->createElement('max','personnage'); $newpersonnage2 = $dom->createElement('personnage','caroline');
Ensuite, tu "appendes mal". Ce qui est,pardonne-moi, un peu inquiètant. Le sens de DOM t'a échappé. Tu ne prends pas du tout en compte la notion noeud parent/noeud enfant.
Bon en gros : $dom->appendChild($newphoto); $newphoto->appendChild($newnom); $newphoto->appendChild($newdescription);
// là, tout va bien...mais maintenant :
$newdescription->appendChild($newevenenement); $newevenenement->appendChild($newprotagoniste); $newprotagoniste->appendChild($newpersonnage); $newprotagoniste->appendChild($newpersonnage2);
ca devrait aller mieux (non testé et fait entre 2 cafés et avant ma douche alors bon...). Bref, tu dois faire le appendChild () sur le noeud parent! le noeud parent immédiat.
|
|
jeudi 1 juin 2006 à 07:58:37 |
Re : Pb dom pr gnérer du xml

malalam
|
ah et puis t'as inversé max et personnage ici, tien : $newpersonnage = $dom->createElement('max','personnage');
|
|
jeudi 1 juin 2006 à 10:00:31 |
Re : Pb dom pr gnérer du xml

chanandler
|
Merci ca marche nickel mais serais tu pourquoi elle se présente en ligne et plus en colonne mes balises. merci encore <?xml version="1.0" encoding="ISO-8859-1"?> <galerie> <photo> <nom>mariage.jpg</nom> <description> <evenement>mariage</evenement> <protagoniste> <personnage>Mamie</personnage> <personnage>pablo</personnage> </protagoniste> </description> </photo> <photo><nom>bapteme.jpg</nom><description><evenenement>bapteme</evenenement><protagoniste><personnage>max</personnage><personnage>caroline</personnage></protagoniste></description></photo></galerie>
|
|
jeudi 1 juin 2006 à 10:09:36 |
Re : Pb dom pr gnérer du xml

malalam
|
Parce que le début de ton fichier n'a pas été créé via DOM et php, mais à la main, je suppose, sous un logiciel dédié (Altova..?) Et que DOM PHP ne rajoute pas de \n à la fin de chaque "ligne"... Si tu veux le voir en arbo, n'utilise pas php. IL fauyt le visualiser avec ujn logiciel permettant de réorganiser le xml de cette manière (Altova, par exemple).
|
|
jeudi 1 juin 2006 à 10:18:04 |
Re : Pb dom pr gnérer du xml

chanandler
|
Bas en faite j'ai utilisé un traitement de texte tous béte pour faire mon xml voila donc tu me conseil d'utiliser Altova pour créér mon xml ou sinon de créér tous mon fichier via Dom.
Meci de ton aide.
|
|
jeudi 1 juin 2006 à 10:35:02 |
Re : Pb dom pr gnérer du xml

malalam
|
Ben c'est pas pareil lol... Si c'est du traitementg générique, à refaire souvent, faut utiliser PHPO et DOM.
Altova est juste un éditeur de XML. Tu peux l'utiliser pour en créer oui...ou en modifier...mais ça dépend, quoi. Je te disais juste que si tu voulaius voir un xml créé par PHP de jolie manière, juste pour le visualiser, Altova est un bon moyen de le faire (mais c'est payant hein).
|
|
jeudi 1 juin 2006 à 10:41:06 |
Re : Pb dom pr gnérer du xml

chanandler
|
Merci a toi, je vais voir ce qu eje peux faire pour une meilleur mise en page car si j'ai beaucoup de photo ca risque de devenir le bordelle lol si je veux ouvrir le fichier pour visualiser quelque chose.
Merci !
|
|
jeudi 1 juin 2006 à 14:02:17 |
Re : Pb dom pr gnérer du xml

chanandler
|
Jai une petite question subsidiére si ca te derange pas. donc voila jai fais quelque test pour mon probléme et en faisant mes teste j'ai remarqué que mon code étais bien indenté quand il étais en-dehors des balises <galerie> donc deja pourquoi la ca marche et sinon j'ai essayé de voir pour ajouter a chaque ajout de photo de mettre la balise </galerie> a la fin mais ca ne marche pas et en plus je n'arrive pas a enlever l'ancienne balise </galerie> qui doit étre enlever avant l'ajout de photo sinon il y aura 2 balises galerie.
Merci a toi.
|
|
jeudi 1 juin 2006 à 14:24:25 |
Re : Pb dom pr gnérer du xml

malalam
|
Je n'ai rien compris. Réexplique stp.
|
|
Cette discussion est classée dans : code, dom, createelement, appendchild, newphoto
Répondre à ce message
Sujets en rapport avec ce message
PHP et DOM [ par Hello5562 ]
Bonjour, Je dois modifier un fichier XML avec du PHP mais je ne comprend pas d'où vient mon erreur. mon code : [code=php]load($fichier)) { $user -
php dom probleme xml [ par G4uthier ]
Bonjour, j'ai un probleme pour crer mon fichier XML :il me met une erreur : Warning: domdocument() expects parameter 2 to be long, string given in /e
Probleme modifier xml ! [ par chanandler ]
Bonjour,Jai créé un script pour modifier un fichier xml a un certain endroit mais ca marche pas et je voie pas où est l'erreur pourriez vous m'aider m
XML d'un tableau [ par gazalii ]
Bonjour,je veux faire un flux XML sous la forme suivante test test2 <v
DomXML, TextNode tronqué ... [ par JoJo738 ]
Helo tout le monde :pJe suis depuis ce matin sur une class de log, et je rencontre un petit problème ...Je veux enregistrer la Trace de mon erreur ...
Extraire du contenu HTML avec Xpath [ par thunderfear ]
Bonjour, Je suis entrain de développer une fonction qui devra exporter une partie d'un document HTML. J'utilise le chemin Xpath pour bien spécifier
petit soucis sur PHP/JS [ par oliopur ]
Voici les p'tit problemes : Sur une base de donnée j'ai un champ qui contient la date et l'heure de suppression future d'un enregistrement sous la for
Fenêtre POPUP avec envoi de données via méthode GET [ par KieferS ]
Bonjour, Je rencontre une difficulté sur l'affichage d'une fenêtre popup. En fait, j'ai un formulaire qui m'affiche un listing de références. A chaqu
Fenêtre POPUP avec envoi de données via méthode GET [ par KieferS ]
Bonjour, Je rencontre une difficulté sur l'affichage d'une fenêtre popup. En fait, j'ai un formulaire qui m'affiche un listing de références. A cha
System de temps qui s'ecoule, Bug continuel a me donner mal a la tete :) [ par belette321 ]
Bon j'explique je fait un system de vote, les gens on droit de voter tout les 6h. Quand quelqu'un vote sa insert $udate dans la base de donner comme
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|