PHP: XML importer/exporter
Spikx 12.11.2012 - 12:07 1498 6
Spikx
My Little Pwny
|
In einem Projekt müssen wir aus einer Webapplikation Daten exportieren, damit diese dann in einem neuen System wieder importiert werden können. Ich selbst schreibe den Exporter und dachte mir, ich erstelle mir aus den betroffenen Daten der (MySQL) Datenbank einfach ein XML file. Am anderen Ende schreibt dann jemand anders einen Importer wo er dann das XML file parsen und in seine Struktur übertragen kann. Allerdings bin ich mir noch nicht sicher, ob das auch so Sinn macht. In den Daten die exportiert werden sollen befindet sich auch Text mit HTML tags (aus TinyMCE & Co. Eingaben). Vielleicht stellt sich mein Gehirn gerade nur dumm an, aber muss ich diese dann nicht speziell behandeln? Andernfalls würde man dann beim parsen des XML files zusätzliche DOM Elemente haben, die eigentlich nicht gedacht sind. Außerdem wollte ich mal einfach nach passenden XML creator und parser fragen. Verwendet man dafür üblicherweise einfach DOMDocument oder gibt es andere frei verfügbare 3rd party Klassen, die das ganze "besser" erledigen?
|
Obermotz
Fünfzylindernazi
|
Wichtig: Immer zuerst das XSD. Du kannst Libraries ausprobieren hier, aber immer nachher auf das XSD validieren. Das XSD bekommt auch die Kundschaft damit die ihr Interface anpassen können.
|
COLOSSUS
AdministratorGNUltra
|
|
Rektal
Here to stay
|
Allerdings bin ich mir noch nicht sicher, ob das auch so Sinn macht. In den Daten die exportiert werden sollen befindet sich auch Text mit HTML tags (aus TinyMCE & Co. Eingaben). Vielleicht stellt sich mein Gehirn gerade nur dumm an, aber muss ich diese dann nicht speziell behandeln? Andernfalls würde man dann beim parsen des XML files zusätzliche DOM Elemente haben, die eigentlich nicht gedacht sind. Für das Problem heißt die Lösung CDATA.
|
Spikx
My Little Pwny
|
fyi: http://dev.mysql.com/doc/refman/5.0...n_mysqldump_xml
Vielleicht sparst du dir so das Schreiben des Exporters. Jo, habe ich mir auch schon gedacht. Evt. geht es auch gar nicht anders, also nicht über ein PHP script (zumindest nicht wenn man alles auf einmal exportieren will), da es ~33000 records sind mit insgesamt ~90 MiB. kA ob das schon zu viel ist. // uhm, aber wenn PHP schon beim export einen crap-out machen würde, würd's ja beim import nicht anders sein, naja Für das Problem heißt die Lösung CDATA. Ah stimmt, thx .
Bearbeitet von Spikx am 12.11.2012, 13:09
|
kleinerChemiker
Here to stay
|
Jo, habe ich mir auch schon gedacht. Evt. geht es auch gar nicht anders, also nicht über ein PHP script (zumindest nicht wenn man alles auf einmal exportieren will), da es ~33000 records sind mit insgesamt ~90 MiB. kA ob das schon zu viel ist.
// uhm, aber wenn PHP schon beim export einen crap-out machen würde, würd's ja beim import nicht anders sein, naja
Ah stimmt, thx . Muß man ja nur memorylimit und execution time hochsetzen.
|
Obermotz
Fünfzylindernazi
|
Muß man ja nur memorylimit und execution time hochsetzen. Kann aber ausarten, würde auf jeden Fall Streams bevorzugen.
|