Können Sie mir bitte mit Ideen zu parsen und kombinieren etwa 12 xml-Dateien, jede Datei hat ~ 5 Mega, um schließlich eine einzige globale Datei zu haben.Analysieren und kombinieren Sie viele XML-Dateien, nicht genügend Speicher
Derzeit ich einen cron verwenden, um ein Skript (ein symfony Framework-Befehl)
Für jede Datei, die ich deserialisieren es mit dem Bündel JMSSerializerBundle ausführen kann, ermöglicht es, ein Objekt aus einer XML-Datei zu erstellen.
Und ich habe ein Speicherproblem. Ich denke, das liegt an dieser Deserialisierung.
Also meine Fragen sind,
Kennen Sie einen besseren Weg, um dieses stup zu tun, wenn ich durch eine Analyse mit SimpleXML diese Deserialisierung mit diesem Bündel ersetzen, denken Sie, es weniger Speicher verbraucht?
Auch, wenn ich die Dateien in Variablen speichern Redis ändert es nichts?
Und eine letzte Frage, wenn ich zum Beispiel die Datenbank verwende, speichere ich die Dateien in einer Tabelle, dann ich alle Datensätze in einer Tabelle abrufen und damit die globale XML-Datei erstellen, kann es sein eine gute Idee? Oder erstellen Sie die globale Datei in mehreren Schritten (mit jeweils 3 Dateien), speichern Sie sie jedes Mal in einer Tabelle und Daten jedes Mal in einem einfachen Array abrufen.
Vielen Dank für Ihre Hilfe.
Wenn Sie Probleme mit dem Speicher mit SimpleXML haben, sollten Sie wahrscheinlich einen Pull-Parser wie [XMLReader] (http://www.php.net/manual/en/class.xmlreader.php) –
Eine Kombination verwenden XMLReader und XMLWriter sollten in der Lage sein, die gesamte Datei auf einmal zu erstellen. Dies hängt von der Verarbeitungsmenge ab, die Sie in der Zwischenzeit mit den Daten machen müssen. Sie können sie möglicherweise in einem Durchgang in die Pipeline leiten. –
Ja, ich werde XMLReader verwenden, danke Jungs. – sakados