[PHP5] XML Parser bauen...

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

  • [PHP5] XML Parser bauen...

    hi,
    ich hocke hier seit tagen und hab keinen blassen schimmer wie ich die xml files in php parsen soll...

    hier ein kleines beispiel xml:

    Code:
     
     
    <?xml version="1.0" encoding="UTF-8" ?> 
    <RootElement>
    <Item>
        <Element1>Text</Element1>
        <Element2>Text</Element2>
        <Element3>Text</Element3>
        <Element4>Text</Element4>
        <SubItems>
            <SubItem>
                <Element1>Text</Element1>
                <Element2>Text</Element2>
                <Element5>Text</Element5>
            </SubItem>
            <SubItem>
                <Element1>Text</Element1>
                <Element2>Text</Element2>
                <Element5>Text</Element5>
            </SubItem>
        </SubItems>
    </Item>
    <Item>
        <Element1>Text</Element1>
        <Element2>Text</Element2>
        <Element3>Text</Element3>
        <Element4>Text</Element4>
    </Item>
    </RootElement>
    zur erklärung:

    RootElement ist einfach der Wurzeltag der alles einschließt.
    Dieser kann beliebig viele Item Tags beinhalten
    Ein Item Tag besitzt verschiedene Elemente (also CData)
    Und optional ein "SubRoot" Tag dieser schließt dann wieder mindestens ein SubItem ein. welches wieder CData beinhaltet.

    Der Tag Subitems muss nicht zwangsläufig enthalten sein. Außerdem hat ein SubItem einige Tags die die gleiche bezeichung wie ei CData Element zwischen den <Item></Item> Tags hat.

    Da ich PHP5 nutze und es objektorientiert realisiert habe (zumindest den Teil des Projekts der schon funktioniert) wäre es praktisch wenn der xml parser in php ebenfalls objekt orientiert ist.

    Ich wäre mehr als nur dankbar wenn mir jemand mit dem obigen XML einen kleinen beispiel parser zusammen bauen könnte, ich komm definitiv nicht alleine weiter. Ich klopp mich schon seit Tagen mit Expat rum und hab keinen plan wie ich das machen soll.

  • #2
    Re: [PHP5] XML Parser bauen...

    warum willst du selber etwas basteln, was reicht dir an der funktionalität von
    http://www.php.net/manual/de/ref.domxml.php oder
    http://www.php.net/manual/de/ref.simplexml.php
    nicht ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ok vielleicht etwas falsch ausgedrückt.
      ich hab natürlich vor sowas zu nutzen.

      aber expat. raff ich net
      simplexml is seit php 5 vorhanden und erst in der testphase wo sich methoden usw noch ändern können oder?
      domxml kenn ich net

      welcher issn zu empfehlen?
      und gibts irgendwo beispiele im netz oder so weil das php manual hilft mir da ehrlich gesagt nicht sonderlich weiter

      Kommentar


      • #4
        Servus,
        irgendwo beispiele im netz oder so weil das php manual hilft mir da ehrlich gesagt nicht sonderlich weiter
        Also das Manual ist doch sehr ausführlich. Vorallem die Referenz zu SimpleXML ist sehr ergiebig finde ich. Die vielen Beispiele müssten doch als Start mehr als ausreichend sein, oder?

        Und ein wenig googeln dürfte ebenfalls Anleitungen und Tutorials zu PHP und XML geben. Habe das mal ganz kurz gemacht und auf die Schnelle folgendes gefunden (ohne Wertung):
        http://ffm.junetz.de/members/reeg/DSP/node28.html

        Ich denke mit etwas Mühe dürfte da durchaus mehr zu ergooglen sein!

        gruss Markus
        Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

        Kommentar


        • #5
          ja aber ich raff es einfach nicht.
          ich hab keinen blassen schimmer wie ich da anfangen soll.
          ich hock schon seit locker mal ner woche da dran und kriegs einfach net gebacken
          wenn ihr mir ein beispiel geben könntet würdet ihr mir sehr weiterhelfen
          ich kriegs allein nicht hin

          EDIT: es könnt sein das ich eben nen lichtblick hatte und zumindest weis wie simplexml funzt. aber eins weiß ich nocht nicht.

          wie find ich raus wieviele tags von einem bestimmten drin sind. ich müsste nämlich das ganze file durchlaufen lassen und wissen wie viele tags drin sind.
          Zuletzt geändert von st@tic; 21.03.2005, 14:38.

          Kommentar


          • #6
            Für die Zukunft:

            PHP-Code:
            <?php
                $xml 
            simplexml_load_file('http://webstylez.net/centrapra/feeds.php');
                echo 
            '<pre>';
                
            print_r($xml);
                echo 
            '</pre>';
            ?>
            Dann sieht man genau was das Teil macht, wenn mehrere drin sind werden sie durchnummeriert. Auch genau schaun wann etwas ein Objekt ist und wann ein Array.

            lg aus Kärnten.

            Kommentar


            • #7
              wie find ich raus wieviele tags von einem bestimmten drin sind. ich müsste nämlich das ganze file durchlaufen lassen und wissen wie viele tags drin sind.
              Quick and Dirty müsste dat funzen:
              PHP-Code:
              $tag 'Adresse';
              $inhalt file_get_contents($deineXMLDatei);
              preg_match_all('/<'.$tag.'>|<'.$tag.'\\s{1,}[^>]*>/isU',$inhalt,$treffer);
              echo 
              'Es wurden '.count($treffer[0]).' Vorkommen von '.$tag.' gefunden'
              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar

              Lädt...
              X