Anzeige:
Ergebnis 1 bis 6 von 6

Thema: XML parsen ohne DOM Lib

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.11.2005
    Beiträge
    9

    XML parsen ohne DOM Lib

    Hi zusammen,

    ich suche (da ich das Rad nicht neu erfinden will) eine Klasse für PHP 4 (also nicht SimpleXML etc..), die mir ein XML-File in ein assoziatives Array parst.
    So und jetzt kommt das ABER :-)
    Bei xml_parse_into_struct ist das Array für mich nicht zu gebrauchen.
    Eigentlich brauche ich genau das Output-Array, was man mit der DOMLib erzeugen kann.

    Also
    Code:
    <?xml ...>
    <liste>
    <person>
         <name>bla</name>
    </person>
    <person>
         <name>blub</name>
    </person>
    </liste>
    Array:
    Code:
    liste = Array ( 
            person = Array (
                    [0] => Array (name => "bla")
                    [1] => Array (name => "blub")
            )
    )
    Was in den x-hundert Beispielklassen immer gemacht wird, ist für meine Zwecke eher unbrauchbar:
    Hier werden immer vordefinierte Array-Keys verwendet wie "PARENT" oder "ATTRIBUTE" oder "ELEMENT" (Beispiele siehe php.net unter "xml-Functions"), was in meinen Augen keine exakte Umsetzung in ein assoziatives Array ist, sondern eben ein selbstgebasteltes. Ich brauche aber die exakte Umsetzung.


    Ein Rohgerüst der Klasse habe ich, es hapert eher an der Logik von Start- und Endelement Funktionen.... Damit auch wirklich ein sauberes assoziat. Array rauskommt.

    .... konnte mir jemand folgen ?

    Es grüßt,
    Philipp7
    Geändert von Philipp7 (18-04-2006 um 16:59 Uhr)

  2. #2
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Philipp7
    Hi zusammen,
    Ein Rohgerüst der Klasse habe ich, es hapert eher an der Logik von Start- und Endelement Funktionen.... Damit auch wirklich ein sauberes assoziat. Array rauskommt.

    .... konnte mir jemand folgen ?

    Es grüßt,
    Philipp7
    Ja, ich folge dir...
    Schau dir mal die preg_.+() funktionen an.

    http://www.php.net/manual/en/ref.pcre.php

    Damit kannst du dir alles nach deinen Wünschen zusammenschneiden.
    Die ganzen XML Klassen machen auch nix anderes.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  3. #3
    Registrierter Benutzer
    Registriert seit
    13.11.2005
    Beiträge
    9
    Hi,

    ja preg_.+ hatte ich mir schon gedacht, bin aber mal "spontan" davon ausgegangen, dass ich bei XML Files mit mehreren DIN A4 Seiten damit sicherlich Probleme bekomme, allein schon performancemässig.
    Zudem fände ich die Lösung nicht so "sauber" wie ein echtes Parsen.
    Hast Du noch einen weiteren Tipp?

  4. #4
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Das ist "echtes Parsen", was anderes machen die XML-Zerschnipplser auch nicht.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  5. #5
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von Philipp7
    Hi,

    ja preg_.+ hatte ich mir schon gedacht, bin aber mal "spontan" davon ausgegangen, dass ich bei XML Files mit mehreren DIN A4 Seiten damit sicherlich Probleme bekomme, allein schon performancemässig.
    Zudem fände ich die Lösung nicht so "sauber" wie ein echtes Parsen.
    Hast Du noch einen weiteren Tipp?
    Ich kann mit echt unecht nix anfangen.
    Wenn es schneller gehen soll, schreibst Du dir in C oder Delphi deinen
    eigenen Parser.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.12.2004
    Beiträge
    217
    Hi Philipp,

    ich denke mit dem PEAR Paket XML_Unserializer ist dir geholfen:
    http://pear.php.net/package/XML_Serializer/

    Einfach mal das Paket laden, da sind einige Beispiele dabei. Wenn noch irgendwas Probleme machen sollte hilft ein Blick in die Doku:
    http://pear.php.net/manual/en/packag...er.options.php

    Grüße,
    nEox

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •