php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.06.2007, 20:46  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 475
Plague
Standard XML Datei in Datenbank importieren

Hallo,

ich habe eine XML (OpenImmo) Datenstruktur. Diese möchte ich gerne in eine Datenbank importieren. Also erst per Upload hochladen, dann ein Skript laufen lassen mit dem ich die relevanten Felder auslese und in eine Datenbank schreibe...

Wie geht das? Ich habe bei Google und auch hier immer nur Sachen gefunden, die mir nicht weiter geholfen habe...

Gruß
Thomas
Plague ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.06.2007, 20:49  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Wie immer gilt: Was hast Du schon probiert und woran scheiterst Du?

Was gefällt Dir an der offensichtlichen Lösung nicht?
- Hochladen
- XML-Datei mit einem geeigneten PEAR-Paket parsen
- Das daraus entstehende Array in die DB packen
- fertig
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 25.06.2007, 20:53  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 475
Plague
Standard

Also das Hochladen ist gar kein Problem.
Welches PEAR Paket würdest du empfehlen? ich habe bis jetzt Funktionen getestet, die vor allem von php.net kommen.
Plague ist offline  
Alt 25.06.2007, 21:01  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Ich hab bisher nur mit dem XML_Unserializer gearbeitet. Der ist im Paket XML_Serializier enthalten.
Wenn die Daten in eine DB sollen, sind ja hoffentlich hauptsächlich gleichartige Datensätze enthalten. Die sind dann in einem schönen Array, das Du mit foreach abarbeiten kannst.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 25.06.2007, 21:09  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 475
Plague
Standard

Bin ich doof oder umfasst das paket nur eine XML Datei?
Plague ist offline  
Alt 25.06.2007, 21:54  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Das PEAR-Paket? Das sollte garkeine XML-Datei enthalten ^^ Zumindest braucht sie die selbst nicht, sie soll sie ja bloss parsen
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 25.06.2007, 22:15  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,

zunächst benötigst du einen XML-Parser, den dir zum Beispiel das genannte PEAR-Paket liefert. Dies übernimmt die Aufgabe die XML-Datei zu analysieren* und in ein Objekt oder einen Array zu schreiben. Dieses/diesen kannst du dann auslesen und dir darüber selbst einen SQL-Query basteln, der die Daten in die Datenbank speichert.

Ich würde dich bitten in Zukunft auch auf die Qualität deiner Postings zu achten, du hast Recht häufig Fragen, die nur mit mehreren Nachfragen zu beantworten sind.
Du musst zugeben, dass das weder für dich noch für uns, Sinn macht, jedes mal nachzufragen. Das kostet Zeit und Nerven.
Hierzu auch für dich noch einmal ein Link auf die Forenregeln:
http://www.phpfriend.de/forum/ftopic57083.html
Danke für dein Verständnis.

* Wenn ich mich recht erinnere, überprüft XML_Unserializer nur unzureichend die XML-Datei, das heißt wenn sie syntaktisch falsch ist wird ein echter PHP-Fehler geworfen, also vorsicht. Bin aber nicht mehr ganz sicher. Ist schon etwas länger her und auch nur vom Hören-Sagen eines Kollegen aufgeschnappt. Ansonsten ist die Klasse aber gut (diesmal aus eigener Erfahrung).
Wenn du PHP5 hast, würde ich aber eher auf SimpleXML setzen (mehr dazu im Manual), dann brauchst du PEAR nicht installieren.
Zergling-new ist offline  
Alt 25.06.2007, 23:47  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

also wenn er sowieso der ganze xml inhalt in db reinhauen möchte, dann ist auch normaler XML parser(SAX) gut genug, da er direkt beim auslesen die daten mit insert in tabelle einfügen kann was natürlich bei den grosseren xml-dateien sehr speicherschönend ist und der Zwischen-Array gar nicht benötigt wird.

http://de3.php.net/manual/de/ref.xml.php
also nur 2 eigene funktionen schreiben, die als parameter in
xml_set_element_handler() übergeben
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 26.06.2007, 00:00  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

eigentlich bietet (OpenImmo) auch CSV format, der eigentlich für Datenbank-import viel besser geeignet ist
__________________
Slava
http://bituniverse.com
Slava ist offline  
Alt 26.06.2007, 03:42  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Nee! wegen CSV habe ich falsche Information geliefert, der Export wird in XML angeboten.
Also nehme ich alles zurück und behaupte das Gegenteil
__________________
Slava
http://bituniverse.com
Slava ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] importieren von csv datei in mysql tabelle Datenbanken 3 02.06.2009 23:45
SQL Datei mit PHP importieren?! Nightuser PHP Tipps 2008 13 01.02.2009 01:51
[Erledigt] Hochgeladene Datei wird doppelt abgelegt thecracked PHP Tipps 2008 3 01.07.2008 16:31
Datei per Buttonklick runterladen... go1denboy PHP Tipps 2008 7 14.06.2008 20:25
Config Datei oder Datenbank snatch-ic PHP Tipps 2008 11 17.03.2008 06:13
Großer Baum -> Große Datei -> Hohe Ladezeit :( PsychoEagle PHP Tipps 2008 7 22.09.2007 12:44
Datei durchsuchen Wöllchen Beitragsarchiv 3 02.03.2006 22:23
Datei importieren Mano PHP Tipps 2005-2 3 16.10.2005 15:14
[Erledigt] SQL Datei per PHP in die Datenbank eintragen PHP Tipps 2005-2 3 06.10.2005 12:57
XML File importieren in MYSQL Datenbank Datenbanken 2 03.09.2005 13:28
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
Ordner Struktur auslesen bestimmte datei finden .... silverghost PHP Tipps 2005 3 24.05.2005 13:55
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
[Erledigt] Kann SQL Datei über phpMyAdmin nicht importieren Datenbanken 1 11.08.2004 09:53
Problem beim importieren einer Datenbank PHP Tipps 2004 8 09.08.2004 15:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
openimmo xml beispiel, xml datei in datenbank importieren, http://www.php.de/php-tipps-2007/44259-xml-datei-datenbank-importieren.html, xml in datenbank importieren, xml datenbank, xml in datenbank importieren php, openimmo xml import, openimmo support paket, openimmo sql, openimmo php, openimmo xml php, openimmo import script, openimmo xml parser, openimmo parser, php xml in datenbank importieren, openimmo import php, xml datei hochladen, openimmo xml, openimmo tutorial, openimmo beispiel

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.