1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

externe XML per Simplexml abfragen und an Variablen übergeben

Dieses Thema im Forum "PHP" wurde erstellt von zacki, 22. Juli 2009.

  1. zacki

    zacki Grünschnabel

    Hallo ! Ich habe vor folgende externe XML auszulesen :

    <fuel_data>
    ?
    <entry>
    <track>200</track>
    <car>UF1</car>
    <fuel>0.41</fuel>
    </entry>
    ?
    <entry>
    <track>000</track>
    <car>BF1</car>
    <fuel>2.27</fuel>
    </entry>
    ?
    <entry>
    <track>000</track>
    <car>FXR</car>
    <fuel>1.25</fuel>
    </entry>
    ...

    Das auslesen ist ja kein Problem aber kann ich irgendwie die Daten an Variablen übergeben.
    Da sich ja alles wiederholt und sich nur der Inhalt ändert stolpere ich immer wieder darüber. Vielen Dank !
     
  2. yson

    yson Grünschnabel

  3. Gast

    Gast Gast

    $filename = "path"; $FORMXML = simplexml_load_file($filename); http://de.php.net/simplexml und dann einfach per $FUELDATAXML->entry->track abrufen bzw das is hier jetzt als objekt nicht als variable aber das is ja im prinzip wurst achja und groß und kleinschreibung beachten achja und entry könnte man jetzt auch mit einer foreachschleife durchlaufen lassen da würdesst du als key die untergeodneten xml tags zurückbekommen und als value den inhalt bye bis dann sorry wenn grad n bisch komisch aussieht der tet hier aber irgendwie is der texteditor grad ganz komisch byebye gruß stefan
     
  4. zacki

    zacki Grünschnabel

    Vielen Dank Aber ich bin absoluter Neuling, ich versuche mich mal durchzufitzen. Mir ist aber gerade aufgefallen das der Server die Daten auch PHP Serialized anbietet. Damit hatte ich bisher noch nie was zu tun. Wäre das einfacher? Wenn ja wäre ein Anhaltspunkt schön. Danke Dir !
     
  5. Gast

    Gast Gast

    Äh willst du des von so nem richtigen externen server die daten holen Weil dann hab ich kA ich bin au nur azubi 1. Lehrjahr xD Ja gut da muss man schon was wissen aber mit sowas hab ich mich noch nie auseinender gesetzt ich bin davon ausgegangen das du die Datei Lokal aufm rechner hast und die dann einlesen willst um die inhalte irgendwie zu vergewaltigen ^^ joa also nen externen server kann man mit php ansprechen nur in wie fern und die möglichkeiten kA hab ich mich noch nie mit auseinader gesetzt also wie gesagt wenn du die daten lokal vorhanden hast kann ich die was xml angeht von A bis sagen wir mal R oder U Helfen ;-) beschreib am besten mal genauer dein problem und im detail was du vorhast.
     
  6. Flex

    Flex (aka Felix Jacobi)

    Ja, mit serialisierten Daten ist es einfacher.

    Du hoslt dir Datei von deren Server (mit [phpf]file_get_contents[/phpf] versuchen)
    Falls das nicht funktioniert, bastelt man sich eine Alternative.

    Danach nutzt man [phpf]unserialize[/phpf] auf die Daten an und sollte einen funktionsfähiges Array, Objekt oder auch sonstiges haben.
     
  7. Gast

    Gast Gast

    Ja und wie is denn das, wie werden die Daten Serilaized zur verfügung getellt also ich versteh das grad so das man sich die daten von einem Server aus dem Internet holt aber hä? xD Oder Stehen die irgendwo als Datei auf einer Index Of Site? bzw ftp?
     
  8. Flex

    Flex (aka Felix Jacobi)

    Ich weiß es nicht.

    Der Ersteller hat gesagt, dass es die Daten auch in serialisierter Form gibt.

    Es ist letztendlich gleich, ob die Daten als Datei oder als Text vorliegen. Oder als Webservice.

    Man kann sie immer auslesen ;)

    Datei per HTTP Request oder Datei per FTP oder Webservice, alles möglich.
     
  9. Gast

    Gast Gast

    ... Noch viel lernen ich muss xD
     
  10. zacki

    zacki Grünschnabel

    Erstmal meinen Dank für die Denkanstöße. Die Daten liegen auf einen zentralen Server. Dieser gibt mir die Daten als XML ( $XML = simplexml_load_file($file); ) oder Serialized oder auch JSON aus. Ich möchte einige Daten graphisch darstellen. Dazu benötige ich aber Variablen. Also sollten die Werte von : Track und Car und fuel jeweils in eine Variable. Aber nich von allen kombinationen. Ich brauche in diesen Beispiel nur den 2. also diesen:

    <entry>
    <track>000</track>
    <car>BF1</car>
    <fuel>2.27</fuel>
    </entry>
     
  11. Gast

    Gast Gast

    foreach($XML->entry[1] as $key => $value){ if($key == ''track'){ dann mache mit $value was du willst ;-) } } und mit dem rest machst dus genauso bzw mit den if abfragen also so hab ichs immer gemacht bin grad bei so nem xml gedöns. Und ich sollte mich endlich hier mal anmelden xD
     
  12. zacki

    zacki Grünschnabel

    Soweit funktioniert das gut, nur liest er mir immer den Letzten wert ein, also den Inhalt von fuel - ich brauche aber track. Irgendwie hab ich nen mächtigen Denkfehler. Vielleicht kannste Dich ja mal durchringen und auf den registrieren-knopf drücken. Dann könnte ich dir das Dilemma mal zukommen lassen. Danke für Deine bisherige Hilfe.
     

Diese Seite empfehlen