Ankündigung

Einklappen
Keine Ankündigung bisher.

Unbekannte XML Dateien rekusiv ausgeben/vergleichen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Unbekannte XML Dateien rekusiv ausgeben/vergleichen

    Hi all,

    ich habe jetzt schon alles möglich gesucht, versucht etc. aber ich scheitere an einer (möglicherweise total einfachen) Aufgabe.

    Im Grunde geht es um folgende Situation: Ich habe immer zwei XML Files, die sich wenig (oder auch gar nicht) unterscheiden.

    Nun möchte ich alle Daten aus Datei 1 auslesen, und falls es einen passenden Eintrag in Datei 2 gibt diesen mit dem Wert aus Datei 1 befüllen.

    Die XML Dateien sind dabei eigentlich immer nach folgendem Schema aufgebaut:

    <daten>
    <Feld01>Daten 123</Feld01>
    <Feld02>Daten 456</Feld02>
    <Feld03>Daten 789</Feld03>
    </daten>

    Auf die Daten per z.b. "$xml->Feld01" zuzugreifen ist nicht das Problem.

    Sondern das Script soll in diesem Fall "dumm" sein, und gar nicht wissen welche Felder überhaupt vorhanden sind (damit es universell einsetzbar bleibt).

    An die Werte zu kommen ist einfach, aber aktuell scheitere ich daran die Feldnamen == z.b. "Feld01" zu bekommen.

    Vielleicht ist schon der Ansatz die XML per "simplexml_load_file" zu laden für diesen Zweck falsch.

    Da ein var_dump aber durchaus sinnvolle Werte ausgibt, sollte es (denke ich zumindest) doch auch möglich sein da dran zu kommen, ohne das man vorher weiß welche Daten im betreffenden XML file überhaupt vorhanden sind.

    Danke schon mal im voraus für einen Tipp in die richtige Richtung, ich glaube ich sehe da den Wald vor lauter Bäumen gerade nicht.

  • #2
    wilkommen im forum.
    bitte poste code der leserlich keit wegen zukünftig in code tags.

    auch das announce sei dir ans herz gelegt.

    genauso wie der link:
    http://php.net/manual/de/class.domdocument.php
    oder der
    http://php.net/manual/de/book.xmldiff.php

    Kommentar


    • #3
      Hi,

      danke erst mal für die Antwort.

      Nur damit keine Missverständnisse aufkommen, ich brauche KEINE Übersicht oder ähnliches bzgl. der Unterschiede zwischen den Dokumenten.

      Das Script muss später einfach "dumm" ALLES was in Datei 1 vorhanden ist in Datei 2 schreiben (falls es dort ein passendes Element gibt), egal ob die Werte gleich bzw. identisch sind. Das spielt keine Rolle.

      Kein diff, kein compare etc.

      Ich könnte auch fragen: Wie bekomme ich aus einem Unbekannten XML Dokument alle "Feldnamen" und die dazugehörigen "Werte". Das dann rekursiv abzuarbeiten ist nicht das Problem.

      Kommentar


      • #4
        Das Script muss später einfach "dumm" ALLES was in Datei 1 vorhanden ist in Datei 2 schreiben (falls es dort ein passendes Element gibt), egal ob die Werte gleich bzw. identisch sind. Das spielt keine Rolle.

        sorry, dass ich mir die mühe gemacht habe.

        Ich kann/will so mit deiner beschreibung nichts anfangen.

        Kommentar


        • #5
          Zitat von MS Master Beitrag anzeigen
          Auf die Daten per z.b. "$xml->Feld01" zuzugreifen ist nicht das Problem.

          Sondern das Script soll in diesem Fall "dumm" sein, und gar nicht wissen welche Felder überhaupt vorhanden sind (damit es universell einsetzbar bleibt).
          D.h. du suchst die Eigenschaft childnodes (ein Beispiel findet sich in der Note bei DOMNode::hasChildNodes)?

          Kommentar


          • #6
            Oder gleich XPath

            Kommentar

            Lädt...
            X