Je dois générer un fichier xml dynamiquement lors de l'exécution. Aidez-moi à générer dynamiquement le fichier XML ci-dessous à l'aide de PHP.
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<track>
<path>song1.mp3</path>
<title>Track 1 - Track Title</title>
</track>
<track>
<path>song2.mp3</path>
<title>Track 2 - Track Title</title>
</track>
<track>
<path>song3.mp3</path>
<title>Track 3 - Track Title</title>
</track>
<track>
<path>song4.mp3</path>
<title>Track 4 - Track Title</title>
</track>
<track>
<path>song5.mp3</path>
<title>Track 5 - Track Title</title>
</track>
<track>
<path>song6.mp3</path>
<title>Track 6 - Track Title</title>
</track>
<track>
<path>song7.mp3</path>
<title>Track 7 - Track Title</title>
</track>
<track>
<path>song8.mp3</path>
<title>Track 8 - Track Title</title>
</track>
Réponses:
J'utiliserais SimpleXMLElement .
la source
<?xml version="1.0" encoding="WHATEVER_IT_IS"?>
instruction de traitement. Je crois que SimpleXMLElement fera la bonne chose: convertir toutes les valeurs de chaîne interrogées en votre mb_internal_encoding.$xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Person></Person>");
Pour créer un document XML en PHP, vous devez créer une classe DOMDocument, créer des nœuds enfants et ajouter ces nœuds dans la branche correcte de l'arborescence des documents.
Pour référence, vous pouvez lire http://it.php.net/manual/en/book.dom.php
Nous allons maintenant faire un tour rapide du code ci-dessous.
Ce sont les bases, vous pouvez créer et ajouter un nœud en une seule ligne (13e, par exemple), vous pouvez faire beaucoup d'autres choses avec l'api dom. C'est comme tu veux.
Edit: juste un autre indice: le principal avantage d'utiliser un xmldocument (celui du document dom ou celui du simplexml) au lieu d'imprimer le xml, est que le xmltree est consultable avec la requête xpath
la source
$domtree->save('mypath/xmlfile.xml');
?$domtree->formatOutput = true;
pour rendre la sortie jolie :)Content-Disposition: attachment
et imprimez le résultat saveXml. Vous pouvez également suggérer un nom de fichier.Une manière facilement cassée de le faire est:
enregistrez-le sous .php
la source
Avec FluidXML, vous pouvez générer votre XML très facilement.
https://github.com/servo-php/fluidxml
la source
Jetez un œil au système de modèles Tiny But Strong . Il est généralement utilisé pour les modèles HTML, mais il existe une extension qui fonctionne avec les fichiers XML. J'utilise beaucoup cela pour créer des rapports où je peux avoir un fichier de code et deux fichiers de modèle - htm et xml - et l'utilisateur peut alors choisir d'envoyer un rapport à l'écran ou à une feuille de calcul.
Un autre avantage est que vous n'avez pas à coder le xml à partir de zéro, dans certains cas, je souhaitais exporter de très grandes feuilles de calcul complexes, et au lieu d'avoir à coder toute l'exportation, tout ce qui est nécessaire est d'enregistrer une feuille de calcul existante dans xml et remplacer dans les balises de code où la sortie de données est requise. C'est une façon rapide et très efficace de travailler.
la source
Il suffit de se connecter à votre base de données, il créera un fichier test.xml dans votre dossier de projet
la source