Ich muss zur Laufzeit dynamisch eine XML-Datei generieren. Bitte helfen Sie mir bei der dynamischen Generierung der folgenden XML-Datei mit 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>
Antworten:
Ich würde SimpleXMLElement verwenden .
quelle
<?xml version="1.0" encoding="WHATEVER_IT_IS"?>
Verarbeitungsanweisung hinzufügen . Ich glaube, SimpleXMLElement wird das Richtige tun: alle abgefragten Zeichenfolgenwerte in Ihre mb_internal_encoding konvertieren.$xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Person></Person>");
Um ein XML-Dokument in PHP zu erstellen, sollten Sie eine DOMDocument-Klasse instanziieren, untergeordnete Knoten erstellen und diese Knoten im richtigen Zweig des Dokumentbaums anhängen.
Als Referenz können Sie http://it.php.net/manual/en/book.dom.php lesen
Jetzt werden wir einen kurzen Rundgang durch den folgenden Code machen.
Dies sind die Grundlagen. Sie können einen Knoten in nur einer Zeile erstellen und anhängen (z. B. 13.). Mit der dom-API können Sie viele andere Dinge tun. Es liegt an dir.
Bearbeiten: Nur ein weiterer Hinweis: Der Hauptvorteil der Verwendung eines xmldocument (das dom document one oder das simplexml one) anstelle des Druckens der xml besteht darin, dass der xmltree mit der xpath-Abfrage durchsucht werden kann
quelle
$domtree->save('mypath/xmlfile.xml');
?$domtree->formatOutput = true;
, um die Ausgabe hübsch zu machen :)Content-Disposition: attachment
und drucken Sie das saveXml-Ergebnis. Sie können auch einen Dateinamen vorschlagen.Ein leicht zu brechender Weg, dies zu tun, ist:
Speichern Sie es als .php
quelle
Mit FluidXML können Sie Ihr XML sehr einfach generieren.
https://github.com/servo-php/fluidxml
quelle
Schauen Sie sich das Template-System Tiny But Strong an. Es wird im Allgemeinen zum Erstellen von HTML-Vorlagen verwendet, es gibt jedoch eine Erweiterung, die mit XML-Dateien funktioniert. Ich verwende dies ausgiebig zum Erstellen von Berichten, in denen ich eine Codedatei und zwei Vorlagendateien haben kann - htm und xml - und der Benutzer kann dann wählen, ob er einen Bericht an den Bildschirm oder eine Tabelle senden möchte.
Ein weiterer Vorteil ist, dass Sie die XML nicht von Grund auf neu codieren müssen. In einigen Fällen wollte ich sehr große komplexe Tabellenkalkulationen exportieren. Statt den gesamten Export zu codieren, muss lediglich eine vorhandene Tabelle gespeichert werden XML und Ersatz in Code-Tags, bei denen eine Datenausgabe erforderlich ist. Es ist eine schnelle und sehr effiziente Art zu arbeiten.
quelle
Es ist einfach, einfach eine Verbindung mit Ihrer Datenbank herzustellen. Die Datei test.xml wird in Ihrem Projektordner erstellt
quelle