XML Dateien finden und verarbeiten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • XML Dateien finden und verarbeiten

    Hallo zusammen,

    wie ich XML Datei verarbeite und dann in die Datenbank schreibe weiß ich, jedoch habe ich nun bei einem neuen Projekt keine festgelegte Datei (z.B. daten.xml) sondern die Daten kommen automatisch über eine schnittstelle in einzelnen dateien mit unterschiedlichen namen wie datei2313.xml, datei8123123.xml oder datei9123.xml.

    Nun soll automatisch eingelesen werden, welche Daten ich zu verarbeiten habe, wie mache ich das am geschicktesten um dann mit einer schleife die einzelnen Dateien durcharbeiten zu können? :)

    LG der Tobbe
  • Wollte das aber schon "professioneller" umsetzen, klar kann man das so machen, aber irgendwann ändert die Schnittstelle die Namen der Dateien oder es sind so viele, dass es nicht mehr 000123 heißt sondern 000000123 und schon ist das Script unbrauchbar ohne weitere Anpassungen.

    Würde es lieber schlanker versuchen mit einlesen der vorhandenen Dateinamen - Das geht bestimmt (Man kann ja auch Fotos und Dateien aus einem bestimmten Ordner laden), weiß nur nicht wie :D
  • Du kannst ja auch eine Datenbank anlegen mit dem Namen aller Dateien, diese in einen Array laden und diesen dann durchschleifen.
    Oder meinst du etwa alle Dateien aus einem Ordner oder so?
    (A lá hier:

    Quellcode

    1. $handle=opendir ("pfad");
    2. echo "Verzeichnisinhalt:<br>";
    3. while ($datei = readdir ($handle)) {
    4. echo "$datei<br>";
    5. }
    6. closedir($handle);

    )
  • Vielen Dank Fipsi und Rushh0ur!

    Habe es nun tatsächlich mit einem array und dem Auslesen des Verzeichnisinhaltes geschafft. Mithilfe der date-funtkion habe ich zudem von jeder Datei das Änderungsdatum ermittelt und neben dem Dateinamen in die Datenbank übergeben.

    Jetzt bräuchte ich noch eine möglichst schlanke Idee für die Überprüfung/Aktualisierung der Datensätze in der Datenbank. Was würdet ihr da vorschlagen?

    Ich habe mir zum Beispiel gedacht die im Array gespeicherten Änderungsdaten nacheinander mit den schon in der Datenbank vorhandenen Daten abzugleichen und wenn das Änderungsdatum in der Datenbank nicht mit dem im Array übereinstimmt, wird der Datensatz per "update" aktualisiert.

    Leider sind es ca. 5500 Datensätze/XML Dateien, welche stetig per Cronjob aktualisiert werden sollen, meint ihr meine Idee wäre sinnig bzw. bei der Anzahl der Datensätze unbedenklich mit meiner Methode? Oder habt ihr eine viel einfachere/bessere Idee? :)

    Freue mich über eure Antworten!
  • Ich glaube, es wäre folgendes geschickter: Wieder alle Dateien aus dem Verzeichnis in ein Array laden. Dann aus der Datenbank alle Daten abfragen und überprüfen, ob ein Array-Element in der Datenbank vorhanden ist. Wenn nicht, einschreiben, oder wenn er veraltet ist, aktualisieren. Ich vermute fast, es würde sogar noch besser gehn, aber das weiß ich nicht..^^