JeuWeb - Crée ton jeu par navigateur
[PHP] Table ou Array vers XML - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [PHP] Table ou Array vers XML (/showthread.php?tid=3696)

Pages : 1 2


[PHP] Table ou Array vers XML - Feldoran - 19-02-2009

Il y a pas mal de doc sur internet pour le parsing PHP de fichiers XML, mais pour ce qui est de créer ces fichiers XML, est-ce qu'il y a un moyen d'automatiser ça depuis une table ou un tableau, ou bien il faut tout fabriquer soi-même avec une création de fichier classique?


RE: [PHP] Table ou Array vers XML - wild-D - 20-02-2009

il existe des classes php (array2xml) pour ce genre de chose mais je crois pas que ait une fonction spéciale PHP si c'est ça que tu veux (y a bien XMLwriter, mais bon c'est juste une aide).


RE: [PHP] Table ou Array vers XML - Anthor - 20-02-2009

Code PHP :
<?php 
$xmlobj
= simplexml_load_file('school.xml');
$xmlobj->save('nouveau_fichier.xml');

Les joies de php5, simple XML, ou autres Smile Si si, c'est natif ^^


RE: [PHP] Table ou Array vers XML - wild-D - 20-02-2009

a priori ce qu'il veut c'est pouvoir générer un fichier xml à partir de données récupérées en bdd ou ailleurs sous forme d'array

simplexml marche à partir d'un array ? (parce que c'est ça la question ^^)


RE: [PHP] Table ou Array vers XML - Feldoran - 20-02-2009

Oui, effectivement, je veux pas faire une copie d'un fichier XML existant mais en créer un à partir de données récupérées autrement.


RE: [PHP] Table ou Array vers XML - Roworll - 20-02-2009

L'objet SimpleXML possède toutes les méthodes nécessaires pour construire ton fichier XML.

Tu peux donc parcourir les éléments d'un tableau en invoquant selon les besoins addChild() et addAttribute() avant de sauvegarder le résultat dans un fichier avec asXML().

Quelle utilisation souhaites-tu faire de ce fichier XML ensuite ? N'as tu pas d'autres méthodes envisageables pour parvenir à tes fins ?


RE: [PHP] Table ou Array vers XML - Feldoran - 20-02-2009

Le but est de limiter le nombre de requêtes effectuées dans une journée, en espérant que la lecture de fichiers XML n'est pas trop lente par rapport à une lecture BDD (si vous avez des chiffres là dessus ce serait intéressant).
Dans mon cas, ce n'est pas absolument "nécessaire", mais ça vaut aussi valeur d'expérimentation, tout simplement.

En gros, j'ai quelques tables de référence (genre une table des Actions contenant une cinquantaine de lignes), et plutôt que d'y faire appel 1 à X fois par visite, j'envisageais de générer régulièrement (à chaque fois que la table est modifiée en fait) un fichier XML, utilisée seulement en lecture lors des visites de joueurs.
Et en gardant la table en amont, ça reste plus pratique pour certains traitements. Elle serait juste utilisée moins souvent.


RE: [PHP] Table ou Array vers XML - Anthor - 20-02-2009

(20-02-2009, 12:34 PM)wild-D a écrit : a priori ce qu'il veut c'est pouvoir générer un fichier xml à partir de données récupérées en bdd ou ailleurs sous forme d'array

simplexml marche à partir d'un array ? (parce que c'est ça la question ^^)

Ha ben après faut lire la doc ensuite Smile


RE: [PHP] Table ou Array vers XML - wild-D - 20-02-2009

si c'est pour le construire à la mimine en bouclant avec des addchild ok; moi je demandais pour le faire de manière transparent, d'un simple
simplexml->lamethodemagique($monarray);

---
sinon feldoran quand tu parle de lecture de fichier xml; tu veux parler de ton serveur qui lira donc les données que tu auras mise "en cache" dans le fichier xml ?
si tu souhaite faire de la mise en cache; me semble pas que le format xml soit le plus adapté; un simple var_export sauvé dans un fichier avec en début une balise <?php, et un simple include en lecture seront plus rapide.


RE: [PHP] Table ou Array vers XML - Anthor - 20-02-2009

(20-02-2009, 02:45 PM)wild-D a écrit : si c'est pour le construire à la mimine en bouclant avec des addchild ok; moi je demandais pour le faire de manière transparent, d'un simple
simplexml->lamethodemagique($monarray);

---
sinon feldoran quand tu parle de lecture de fichier xml; tu veux parler de ton serveur qui lira donc les données que tu auras mise "en cache" dans le fichier xml ?
si tu souhaite faire de la mise en cache; me semble pas que le format xml soit le plus adapté; un simple var_export sauvé dans un fichier avec en début une balise <?php, et un simple include en lecture seront plus rapide.

Il te suffit d'étendre la classe ^^

Sinon si c'est juste pour un array, le json est bien mieux et necessite une seule fonction ^^