Daten aus xml auslesen und per html ausgeben

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

  • Daten aus xml auslesen und per html ausgeben

    Ich habe folgende ausgangs daten in einem xml file.

    PHP-Code:
    <?xml version='1.0' encoding='utf-8' standalone='yes'?>
    <meinedomain>
        <amateurs>
            <amateur>
                <userid>692</userid>
                <nickname>Baralei</nickname>
                <age>19</age>
                <zip>90</zip>
                <country>de</country>
                <gender>m</gender>
                <regtime>11331037</regtime>
                <hardcore>0</hardcore>
                <description>Beschreibungstext!!!!!!!!!!!</description>
                <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
    </amateur>
            <amateur>
                <userid>1994531</userid>
                <nickname>Geile-Ela</nickname>
                <age>30</age>
                <zip>33</zip>
                <country>de</country>
                <gender>w</gender>
                <regtime>11406214</regtime>
                <hardcore>0</hardcore>
                <description>!!!!!!!!!!!!Beschreibungstext!!!!!!!!!!!</description>
                <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
    </amateur>
            <amateur>
                <userid>1194</userid>
                <nickname>fan2006</nickname>
                <age>36</age>
                <zip>90</zip>
                <country>de</country>
                <gender>m</gender>
                <regtime>11376017</regtime>
                <hardcore>1</hardcore>
                <description>!!!!!!!!!!!!Beschreibungstext!!!!!!!!!!!</description>
                <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
                <sets>
                    <set>
                        <id>10532</id>
                        <kind>pics</kind>
                        <gentime>1141891</gentime>
                        <title>Cambilder</title>
                        <hardcore>1</hardcore>
                        <description>Hier mal Camfotos.</description>
                        <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
                    </set>
                    <set>
                        <id>9654</id>
                        <kind>pics</kind>
                        <gentime>11412124</gentime>
                        <title>erste Bilder</title>
                        <hardcore>1</hardcore>
                        <description>Viel Spass!</description>
                        <preview_url>[url]http://www.domain.dex/vorschaubildnrxxx.gif[/url]</preview_url>
                    </set>


    ........................usw


    Ich möchte jetzt die xml Datei so auslesen das ich aus den einzelnen angaben eien html Seite gennerieren kann.





    Ich möchte folgende Werte in einer liste dann ausgeben, das daraus alle user untereinander mit ihren daten angezeigt werden.



    Username = <id> xxxxxx </id>

    Art = <kind> xxxxxxxxx</kind>

    Anmeldung = <gentime> xxxxxxx</gentime>
    Titel = <titel> xxxxx</titel>


    .... usw.

    +++++++++++++++++++++++++++++++++++


    Username = <id> xxxxxx </id>

    Art = <kind> xxxxxxxxx</kind>

    Anmeldung = <gentime> xxxxxxx</gentime>
    Titel = <titel> xxxxx</titel>


    .... usw.

    +++++++++++++++++++++++++++++++++++++++

    usw.


    Dies soll natürlich für jeden user aus der xml liste geschehen.

    Ich habe hier schon mal mit simplexml_load_file() und var_dump() experimentiert.




    PHP-Code:
    $xmlurl "amateur.xml";
    if (
    file_exists($xmlurl)) {
        
    $xml simplexml_load_file($xmlurl);

     
    $array =   var_dump($xml);
       
    } else {
        exit(
    'Konnte $xmlurl nicht öffnen.');
    }

    #print $xml; // n nur  zum testen
    // 
    for($a=0;$a<count($array);$a++) {
    echo 
    "array 0".$array[$a++];
    echo 
    "array 1".$array[$a++];
    echo 
    "array 2".$array[$a++];
    #--------------------
    echo "array Last".$array [$a];


    Mir ist einfach nicht ganz klar wie ich auf die Objekte zugreifen kann die durch simplexml_load_file() bzw. var_dump() ausgeben werden.


    Damit sollte es ja eigendlich machbar sein.
    Zuletzt geändert von schnikemike; 13.11.2006, 02:20.

  • #2
    Im steht doch eigentlich alles zum Thema XML und ansonsten mal

    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


    • #3
      Ja eigendlich schon.

      leider bekomme ich das irgendwie nicht hin.

      Laut google und einigen Seiten müsste es so sein.

      PHP-Code:
      $xmlurl "user.xml";
      if (
      file_exists($xmlurl)) {
          
      $xml simplexml_load_file($xmlurl);

       
      $array$xml->userid[0];

         
      } else {
          exit(
      'Konnte $xmlurl nicht öffnen.');
      }

      echo 
      "Nickname".$array;

      Es kommen aber keine ausgaben.
      Zuletzt geändert von schnikemike; 13.11.2006, 03:16.

      Kommentar


      • #4
        bzw.

        Da meine Strucktur des xml files ja anders wie in den meisten Beispielen ist müsste das dann so sein.

        <meinedomain>
        <amateurs>
        <amateur>
        <userid>692</userid>
        <nickname>Barale</nickname>
        PHP-Code:
         $userid$xml->amateurs[0] ->amateur[0] ->userid
        Da angeblich bei Elementen mit dem gleichen Namen ein Array daraus wird.

        Geht das überhaupt so wie ich es geschrieben habe?

        Oder wie greifft man sonst auf das Element " userid" zu?


        Ich bin echt am verzweifeln.

        Hier nochmal das Script so wie es jetzt ist.

        PHP-Code:
        if (file_exists($xmlurl)) {
            
        $xml simplexml_load_file($xmlurl);


         
        $userid $xml->amateurs[0] ->amateur[0] -> userid;

        } else {
            exit(
        'Konnte $xmlurl nicht öffnen.');
        }

        echo 
        "Nickid".$userid;  { 
        Hab hier unter anderem nochmal nachgelesen wer da noch Quellen braucht.

        http://www.professionelle-softwareen...simplexml.html
        Zuletzt geändert von schnikemike; 16.11.2006, 19:30.

        Kommentar


        • #5
          Keiner eine idee wie man in aus em xml file die dasten aus userid auslesen kann?


          Ich festgestellt das man die wohl besser nicht mit simplexml_load_file machen sollte da die orginal Datei Komplett eingelesen wird (29 MB).

          Das ist ein enormer verbrauch an resourcen.


          Oder gibt es da eine möglichkeit die Datei nur teilweise auzulesen?


          Habe darüber nichts gefunden.

          LG

          Kommentar


          • #6
            Oder gibt es da eine möglichkeit die Datei nur teilweise auzulesen?
            Kennst du fopen() und fgets() ? Mit diesen beiden kannst du im Zusammenspiel mit einer Schleife sehr einfach bestimmen, wieviele Zeilen der Datei ausgelesen werden sollen. Dann noch mittels eines preg_match() die gewünschten Teile aus der Zeile ausschneiden und was auch immer du damit machen willst machen.

            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


            • #7
              Ja kenne ich.


              Mir wurde nur immer gesagt ich solle für die auswertung der xml File

              simplexml_load_file() verwenden.

              Naja werd das wohl dann doch anders lösen.

              LG und danke für die Antwort.

              Kommentar


              • #8
                Mir wurde nur immer gesagt ich solle für die auswertung der xml File
                simplexml_load_file() verwenden.
                Wenn du aber nicht das ganze File einlesen willst, dann wohl eher nicht...

                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


                • #9
                  Wenn man eines dieser Tags(<meinedomain><amateurs><amateur>wegläßt, funktioniert die Ausgabe, seltsam.

                  foreach($data as $a) {
                  echo "<tr>";
                  echo "<td>". $a->userid . "</td>";
                  echo "<td>". $a->nickname . "</td>";
                  echo "<td>". $a->age . "</td>";
                  echo "<td>". $a->country . "</td>";
                  echo "</tr>";
                  }

                  Kommentar


                  • #10
                    Ich würde mit XSL das XML in HTML Transformieren.
                    Dafür ist XSL genau da, aber da die Datei 29 MB Gross ist, weiss ich halt auch nicht so recht. Ausgabe Cachen?

                    mfg Roland
                    Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

                    Kommentar


                    • #11
                      Original geschrieben von meierhans
                      [B]Wenn man eines dieser Tags(<meinedomain><amateurs><amateur>wegläßt, funktioniert die Ausgabe, seltsam.

                      Du meinst also statt

                      <meinedomain><amateurs><amateur>



                      nur

                      <meinedomain><amateurs>

                      ?

                      Kommentar


                      • #12
                        Original geschrieben von Rolandbar
                        Ich würde mit XSL das XML in HTML Transformieren.
                        Dafür ist XSL genau da, aber da die Datei 29 MB Gross ist, weiss ich halt auch nicht so recht. Ausgabe Cachen?

                        mfg Roland
                        ja das wäre auch ne möglichkeit. aber auch da ist wie du schon sagst das Problem mit der Dateigrösse.

                        Kommentar


                        • #13
                          Das ist die Lösung.


                          $id_nummer = $xml->amateurs->amateur[$a]->userid;



                          das gesammte script ist mitlerweile so gros das ich es hier nicht Poste will aber wer es haben will soll sich einfach mal melden.


                          Daten aus xml File auslesen und geordnet in einer html Seite ausgeben.


                          In meienm fall wird für jeden User eine Kleines Profil mit vorschaubild erstellt.

                          Kommentar


                          • #14
                            Ich hätte gerne das Script und würde es dann auch gerne ein bischen umschreiben.
                            Zuletzt geändert von furuha; 19.06.2008, 13:15.

                            Kommentar


                            • #15
                              ansonsten kann mir auch einfach wer helfen(lerne seid 2 tagen php...):

                              ich will xml files auslesen und in einer liste/tabelle darstellen die wie folgt aussehen:

                              Code:
                              <?xml version="1.0" encoding="UTF-8"?>
                              <gwteambuild version="1.0">
                                <gwplayerbuild version="1.0">
                                  <classsetup primary="[B]Warrior[/B]" secondary="[B]Necromancer[/B]" />
                                  <skillbar>
                                    <skill>Sever Artery</skill>
                                    <skill>Gash</skill>
                                    <skill>Final Thrust</skill>
                                    <skill>"Charge!"</skill>
                                    <skill>Flurry</skill>
                                    <skill>Healing Signet</skill>
                                    <skill>Plague Touch</skill>
                                    <skill>Resurrection Signet</skill>
                                  </skillbar>
                                </gwplayerbuild>
                                <gwplayerbuild version="1.0">
                                  <classsetup primary="Ranger" secondary="Mesmer" />
                                  <skillbar>
                                    <skill>Poison Arrow</skill>
                                    <skill>Barbed Arrows</skill>
                                    <skill>Distracting Shot</skill>
                                    <skill>Concussion Shot</skill>
                                    <skill>Snare</skill>
                                    <skill>Troll Unguent</skill>
                                    <skill>Distortion</skill>
                                    <skill>Resurrection Signet</skill>
                                  </skillbar>
                                </gwplayerbuild>
                                <gwplayerbuild version="1.0">
                                  <classsetup primary="Ranger" secondary="Elementalist" />
                                  <skillbar>
                                    <skill>Burning Arrow</skill>
                                    <skill>Apply Poison</skill>
                                    <skill>Distracting Shot</skill>
                                    <skill>Throw Dirt</skill>
                                    <skill>Snare</skill>
                                    <skill>Troll Unguent</skill>
                                    <skill>Storm Chaser</skill>
                                    <skill>Resurrection Signet</skill>
                                  </skillbar>
                                </gwplayerbuild>
                                <gwplayerbuild version="1.0">
                                  <classsetup primary="Ranger" secondary="Mesmer" />
                                  <skillbar>
                                    <skill>Screaming Shot</skill>
                                    <skill>Savage Shot</skill>
                                    <skill>Distracting Shot</skill>
                                    <skill>Pestilence</skill>
                                    <skill>Lacerate</skill>
                                    <skill>Troll Unguent</skill>
                                    <skill>Mantra of Resolve</skill>
                                    <skill>Resurrection Signet</skill>
                                  </skillbar>
                                </gwplayerbuild>
                                <gwplayerbuild version="1.0">
                                  <classsetup primary="Necromancer" secondary="Monk" />
                                  <skillbar>
                                    <skill>Tainted Flesh</skill>
                                    <skill>Rotting Flesh</skill>
                                    <skill>Bitter Chill</skill>
                                    <skill>Consume Corpse</skill>
                                    <skill>Blood Ritual</skill>
                                    <skill>Heal Party</skill>
                                    <skill>Extinguish</skill>
                                    <skill>Resurrection Signet</skill>
                                  </skillbar>
                                </gwplayerbuild>
                                <gwplayerbuild version="1.0">
                                  <classsetup primary="Monk" secondary="Mesmer" />
                                  <skillbar>
                                    <skill>Blessed Light</skill>
                                    <skill>Gift of Health</skill>
                                    <skill>Reversal of Fortune</skill>
                                    <skill>Guardian</skill>
                                    <skill>Spirit Bond</skill>
                                    <skill>Signet of Devotion</skill>
                                    <skill>Inspired Hex</skill>
                                    <skill>Drain Enchantment</skill>
                                  </skillbar>
                                </gwplayerbuild>
                                <gwplayerbuild version="1.0">
                                  <classsetup primary="Monk" secondary="Mesmer" />
                                  <skillbar>
                                    <skill>Reversal of Fortune</skill>
                                    <skill>Guardian</skill>
                                    <skill>Mend Condition</skill>
                                    <skill>Protective Spirit</skill>
                                    <skill>Contemplation of Purity</skill>
                                    <skill>Mantra of Recall</skill>
                                    <skill>Inspired Hex</skill>
                                    <skill>Divine Boon</skill>
                                  </skillbar>
                                </gwplayerbuild>
                                <gwplayerbuild version="1.0">
                                  <classsetup primary="Ranger" secondary="Mesmer" />
                                  <skillbar>
                                    <skill>Smoke Trap</skill>
                                    <skill>Barbed Trap</skill>
                                    <skill>Flame Trap</skill>
                                    <skill>Storm Chaser</skill>
                                    <skill>Dodge</skill>
                                    <skill>Troll Unguent</skill>
                                    <skill>Distortion</skill>
                                    <skill>Resurrection Signet</skill>
                                  </skillbar>
                                </gwplayerbuild>
                              </gwteambuild>
                              das fett geschriebene soll auch ausgegeben werden. da natürlich immer weiter habs nur einmal makiert.

                              wäre nett wenn das jemand für mich machen kann.

                              Kommentar

                              Lädt...
                              X