Antman: XML Dateien aus mysql DB erzeugen.

Hallo Forum,

ich soll mit Hilfe von php5 aus einer mysql DB XML Dateien erzeugen.
Dazu habe ich von einer Portalseite eine Schnittstellenbeschreinbung erhalten.

Welche Funtion bieten sich mir nun in php5 ? Wie gehe ich das an ?
Hoffe jemand kann mich auf den richtigen Pfad bringen.

  1. Hallo Antman,

    ich soll mit Hilfe von php5 aus einer mysql DB XML Dateien erzeugen.
    Dazu habe ich von einer Portalseite eine Schnittstellenbeschreinbung erhalten.

    Wie wuerdest Du es denn bei einer HTML-Seite machen?

    • Datenbankabfrage
    • Daten in einer while-Schleife zu einem String (dem XML_baum in diesem Fall zusammenfuegen
    • Datei schreiben

    Gruß,

    Dieter

    1. Hallo Dieter,

      Wie wuerdest Du es denn bei einer HTML-Seite machen?

      • Datenbankabfrage
      • Daten in einer while-Schleife zu einem String (dem XML_baum in diesem Fall zusammenfuegen
      • Datei schreiben

      Ich dachte dafür gäbe geeignete Funktionen in php5. Hatte da etwas von besserer XML Unterstützung bei PHP5 gehört und es ist mir nicht klar, was damit gemeint ist.

      1. Moin

        Ich dachte dafür gäbe geeignete Funktionen in php5. Hatte da etwas von besserer XML Unterstützung bei PHP5 gehört und es ist mir nicht klar, was damit gemeint ist.

        Ja es gibt nen eingebauten XML parser in php5, dieser muss aber nicht aktiviert sein. Der ist aber IMHO ziemlich bes... schlecht dokumentiert.

        Finde es mittels: phpinfo(); raus.

        Mfg entropie

        --
        Whenever people agree with me I always feel I must be wrong.
          -- Oscar Wilde
      2. Wie wuerdest Du es denn bei einer HTML-Seite machen?

        • Datenbankabfrage
        • Daten in einer while-Schleife zu einem String (dem XML_baum in diesem Fall zusammenfuegen
        • Datei schreiben

        Ich dachte dafür gäbe geeignete Funktionen in php5. Hatte da etwas von besserer XML Unterstützung bei PHP5 gehört und es ist mir nicht klar, was damit gemeint ist.

        was willst du?
        handelt es sich um eine feste zuordung zu einer tabelle? oder gibt es eine 'flexible' anforderung?

        soll der inhalt einer abfrage als xml datenstrom entstehen? oder handelt es sich um mehrfachverbindungen.

        wenn nur das ergebnis einer abfrag nach xml gewandelt werden soll ist jeder überflüssige aufwand nonsens.
        das ergebnis einer sql abfrage ist immer eine 2-dimensionale tabelle. daher ergibt sich auch immer eine flache xml datenstuktur.
        ergo: abfrageergebnis in einer schleife mit xml-tags zusammenbauen. string verkettungen und funktionen sind dir ja wohl bekannt.

        bei einer baumstruktur müssen schleifen ineinander geschachtelt laufen. das macht bei einer einzigen sql abfrage kaum sinn. aber auch hier kann der xml datenstrom besser von hand mit string verkettungen und funktionen zusammengebaut werden.

        anders ist die sache beim parsen: hier ist der einsatz eines xml tools unbedingt zu empfehlen.
        wäre aber nur nötig, wenn du mal xml daten in eine tabelle schreiben sollst.

        ps:
        bei php4 gabs 'nur' den sax-parser, welcher ereignisorientiert arbeitet. (habe jedenfalls keinen anderen benutzt)
        mit php5 ist nun das baummodell (dom) komfortabel verfügbar. hier kann man die infos direkt in der hierarchie ansprechen.
        wenn du dann mal unsortierte daten in den baum einfügen möchtest, geht das sehr einfach.

  2. Halihallo Antman

    ich soll mit Hilfe von php5 aus einer mysql DB XML Dateien erzeugen.
    Dazu habe ich von einer Portalseite eine Schnittstellenbeschreinbung erhalten.

    Es gibt mindestens zwei Möglichkeiten: Entweder du verwendest den von
    PHP gegebenen XML-Extensions, oder du schreibst die XML-Datei von
    Hand.

    Nun, wenn es nur um das Generieren eines XML-Dokumentes geht, warum
    verwendest du nicht die von Dieter Raber genannte vorgehensweise?
    Das direkte generieren des XML-Dokumentes geht auch über
    direkte Ausgabe in eine Datei. Die XML-Library wird interessant,
    wenn es darum geht eine XML-Datei einzulesen, denn das Parsen jener
    ist ein sehr viel aufwendigeres Thema, als das Generieren. Natürlich
    sind beide Vorgehensweisen austauschbar, jedoch kann es bei
    bestimmten (zu schreibenden) XML-Dokumenten gar sehr viel einfacher
    sein, diese einfach über fputs() (o.ä. Dateifunktionen) in eine
    Datei zu schreiben.

    Viele Grüsse

    Philipp

    1. Hallo,

      PHP gegebenen XML-Extensions, oder du schreibst die XML-Datei von
      Hand.

      Hättest du zu den XML-extensions mal ein Link ?

      1. Halihallo Antman

        PHP gegebenen XML-Extensions, oder du schreibst die XML-Datei von
        Hand.
        Hättest du zu den XML-extensions mal ein Link ?

        http://www.php.net/xml
        http://www.php.net/manual/de/ref.domxml.php
        http://www.php.net/simplexml

        sind ein paar, such einfach mal über PHP-Suche oder Google

        Viele Grüsse

        Philipp