CLASSE SIMPLE DE CRÉATION DE FICHIER XML

Mikiman Messages postés 5 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 30 juin 2006 - 30 juin 2006 à 21:09
systemat Messages postés 1 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 6 mai 2008 - 6 mai 2008 à 11:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38380-classe-simple-de-creation-de-fichier-xml

systemat Messages postés 1 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 6 mai 2008
6 mai 2008 à 11:52
Bonjour, pas de problème pour le php 4, veiller à laisser le constructeur quand même ;-).

Si pas, j'ai modifié la classe pour l'insertion d'attribut dans les balises xml... Par contre, je ne sais pas où la placer pour que tout le monde la voit, alors filez votre mail et je vous l'enverrai.

Et bravo, pastis51...
cs_krma Messages postés 20 Date d'inscription samedi 20 septembre 2003 Statut Membre Dernière intervention 14 août 2008
30 oct. 2007 à 09:33
Bonjour,
pour php4 ca ne semble pas fonctionner, en changeant les private en var ...
Quelqu'un a essayé en php4 déjà ?
ydiouf19 Messages postés 1 Date d'inscription vendredi 4 mai 2007 Statut Membre Dernière intervention 4 mai 2007
4 mai 2007 à 13:07
bon code
nacer183 Messages postés 20 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 4 avril 2007
24 mars 2007 à 17:56
bonjour, je teste ce code il ne marche pas avec wamp (php5,MySQL5,apache2)est-ce-qu'il y a des modification dans php pour qu'il marche? je besoin d'une réponse dans le plus courte durée,merci
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
5 juil. 2006 à 20:36
Ok, ca m'a l'air interessant tout ca...
Je finis 2 3 trucs et je m'y plonge...
Merci encore de faire profiter ton experience aux ptits jeunes du php...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
5 juil. 2006 à 14:02
Mates ma source, tu verras que je n'ai pas utilisé de \n \r etc...
J'ai juste formatté l'affichage, via une méthode spécifique d'affichage. Elle est indépendante de la création du flux XML. Le flux XML en lui-même ne possède aucune mise en forme (ce n'est pas le but de XML du tout). Mais par contre, j'autorise un affichage plus user-friendly via une méthode utilisant du XSL (pour shématiser). Mais le flux, j'insiste, n'est pas touché.
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
5 juil. 2006 à 13:31
Malalam: Tu as entièrement raison... Mais en postant ca, j'étais conscient de la majeure partie de ce que tu m'as dit. Je l'ai créée pour des besoins simples et surtout pour permettre de creer le fichier le plus simplement possible, et pouvoir le modifier, si necessaire avec un editeur de texte.
Par contre, je suis surpris de ta remarque sur les \n...
Avant de les mettre, je m'etais justement posé la question, et je les ai mis a la suite de la lecture d'une réponse que tu as apportée à skaaar sur ta source http://www.phpcs.com/codes/PHP5-XML-OBJECT-SERIALIZER-UNSERIALIZER_36671.aspx .
Enfin, pour le moment, cette classe me suffit telle quelle, mais par la suite, si elle vient à évoluer (y'a de fortes chances, vu qu'elle est toute neuve et que je débute dans le xml), j'en profiterais pour prendre en compte completement ce que tu m'as dit.

En tout cas merci pour cette étude approfondie

Brice
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
5 juil. 2006 à 12:47
Hello,

l'idée est bonne :-)
Mais, il faut bien quelques mais... ;-)
Tout d'abord, le 1er truc qui me choque vraiment, ce sont tes retours chariots dans le flux XML. Ils n'ont pas grand chose à faire là-dedans! D'autant plus qu'un retour chariot va dépendre de l'OS...bref, je suis contre. Il y a des logiciels pour visualiser un flux XML. Pas besoin de mettre des retours chariots dedans. Et surtout, ils n'ont rien à faire dans un flux XML, j'insiste ;-)

Ensuite, je suis un peu surpris de tes 2 méthodes creer_xml::entrer() et creer_xml::ligne().
Dans le fonc, il n'y a pas de différence : tu crées une balise. Dans un cas, tu autorises de donner un texte à ta balise. Bon. Et tu fais une différence avec ce que tu appelles un noeud ouvert et un noeud en ligne. Mais c'est une fausse différenciation. Rien n'empêche d'avoir :
bla<child>bli</child>

.
C'est donc une différenciation un peu perturbante. ET on ne peut pas créer de xml de cette forme avec ta classe, à priori.
De plus, ta classe fonctionne séquentiellement. C'est à dire, une fois qu'on a écrit une "ligne", on ne peut pas insérer une nouvelle "ligne" avant.
Pas d'attributs, dommage.

Si je puis me permettre, tu peux jeter un oeil sur ma classe XML Menu, présente sur phpcs. IL y a une version sans DOM pour générer le flux XML d'un menu. Le principe est différent, MAIS, tu dois pouvoir t'en inspirer pour autoriser la création d'attributs, et la possibilité d'insérer des éléments où tu le désires dans le flux xml.
Skreo Messages postés 53 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 25 août 2008
4 juil. 2006 à 14:49
pastis51forever>> Après il faut choisir entre facilité et performance ^^
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
3 juil. 2006 à 14:49
En tout cas, c'est ce qui est prévu...
http://uk.php.net/manual/fr/ref.domxml.php
Et personnellement, je n'ai pas réussi à l'utiliser, je pense pour cette raison.
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
3 juil. 2006 à 14:17
Le DOMdocument n'est pas installé par défaut ? Je croyais qu'il faisait parti du coeur de PHP5 ?!
Etrange ca...
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
3 juil. 2006 à 09:54
FhX-> J'aurais préféré utiliser DOM pour mon site, mais malheureusement, il n'est pas disponible chez mon hebergeur.
(depuis PHP5, il n'est plus installé par défaut...)

Skreo->Ca c'est l'eternelle question... Perso j'ai opté pour cette solution, car elle permet d'être sûr de faire un fichier xml propre et bien indenté, et de ne pas avoir à se prendre la tête à trop vérifier si on a bien refermé chaque balise, surveiller la casse, etc...

En tout cas, merci pour vos commentaires
Skreo Messages postés 53 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 25 août 2008
3 juil. 2006 à 03:48
J'avais aussi fait une classe dans le genre, mais en fait je trouve qu'il est plus simple, moins lourd et plus lisible de faire directement du xml ^^
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
1 juil. 2006 à 16:31
A savoir qu'on peut aussi utiliser le DOM pour faire de la génération de XML :)
Mikiman Messages postés 5 Date d'inscription dimanche 18 septembre 2005 Statut Membre Dernière intervention 30 juin 2006
30 juin 2006 à 21:09
Salut !

J'aime beaucoup ta classe, bravo !
Rejoignez-nous