phpbar.de logo

Mailinglisten-Archive

[php] XML in einer MySQL - Datei abspeichern.

[php] XML in einer MySQL - Datei abspeichern.

andreas kempf php_(at)_phpcenter.de
Wed, 25 Jul 2001 11:52:09 +0200


On Tue, 24 Jul 2001 21:43:55 +0200, "Dimi" <dimi600_(at)_gmx.de> wrote:

>Ich habe diese XML - Datei:
>
><?xml version=3D'1.0' encoding=3D'ISO-8859-1'?>
><content>
><date>2001-Jul-06 15:02</date>
><produkt>Neu im Kino XL</produkt>
[...]
>Ich will die nun in eine Mysql - Tabelle rein "speichern".
>Gibt es da fertige L=F6sungen ??

IMHO gibt es keine komplette php-anwendung, die dir (semi-)
automatisch eine tabelle aus den elementen (aka "tags") generiert und
sie dann per insert fuellt.

Um mit PHP die datei einzulesen kann man mit xml_parse_into_struct()
arbeiten. Du erhaeltst zwei arrays, die du dann wiederum nutzen kannst
um sie in sql-queries zu uebersetzen.

Bei xml_parse_into_struct() muss man auf die anzahl der elemente
achten: bei einer test-datei mit ca. 10.000 nodes und je ca. 10-20
child-elementen kam ich auf einen immensen speicher-verbrauch von
750MB (unter WAMP).

Wenn moeglich, sollte man PHP's fgets() immer dann unterbrechen, wenn
man wieder bei einem node auf level 1 ist: dort die sql-statements
basteln, anschliessend xml_parser_free() nutzen und danach mit fgets()
beim naechsten node weitermachen.

Wenn du eine fertige anwendung (fuer windows) suchst, ist evtl. XMPSpy
das richtige: www.xmlspy.com

HTH, andreas
--=20
[amalesh]      |  backend - development  |  PHP ASP SQL
andreas kempf  |  http://www.amalesh.de  |  online-shops
barnerstr. 14  |  tel: 040 - 39834682    |  eventsysteme
22765 hamburg  |  info_(at)_amalesh.de        |  communities


php::bar PHP Wiki   -   Listenarchive