Sonja: simplexml_load_file -> Ausgabe als Array?

Hallo,

ich bin es schon wieder ;-) . Nachdem das Proxyproblem jetzt dank eurer Hilfe erledigt ist, kommt direkt die nächste Frage.

Ich hoffe ich habe die Doku richtig verstanden. So sollte dann Simplexml_load_file ein Array/Object erzeugen.

Demo

<?php  
$xml = simplexml_load_file('http://example.com/get.php');  
var_dump($xml);  
?>

das erzeugt folgende Ausgabe:
object(SimpleXMLElement)#1 (4) {
  ["cear"]=>
  string(61) "40ae647f86234d3cbdf51e18f0b2e7eb"
  ["agent"]=>
  string(68) "Agonaut"
  ["ref"]=>
  string(29) "Hauptquatier"
  ["hund"]=>
  string(1) "5"
}

Ich dachte das ich dann mit:
echo $xml["cear"];

an den Inhalt komme, es wird mir aber nichts angezeigt. Ich vermute auf meiner Seit ein Gedankenfehler. Könnt Ihr mir hier vielleicht helfen.

Vielen Dank

Sonja

  1. Tach!

    Ich hoffe ich habe die Doku richtig verstanden. So sollte dann Simplexml_load_file ein Array/Object erzeugen.

    Einen Objekt-Baum. Das "Problem" an SimpleXML ist, dass sehr viel PHP-Magie verwendet wurde. Das heißt, dass sich SimpleXML nicht immer wie ein einfaches Objekt verhält. Einige Dinge werden in einer Kontrollausgabe nicht oder anders zu sehen sein, als man dann darauf zugreifen kann. Man kann also nicht immer von einem ganz normalen Verhalten ausgehen, sondern sollte immer in der Dokumentation nachsehen, wie der vorgesehene Weg ist, um an die Daten heranzukommen.

    object(SimpleXMLElement)#1 (4) {
      ["cear"]=>
      string(61) "40ae647f86234d3cbdf51e18f0b2e7eb"
    [...]
    Ich dachte das ich dann mit:
    echo $xml["cear"];

    Kann man mit Array-Zugriff auf die Daten zugreifen? Befrag dazu das Handbuch. Laut Kontrollausgabe ist cear eine Eigenschaft und kein Array-Element. Auf eine Eigenschaft würde man mit $xml->cear zugreifen.

    an den Inhalt komme, es wird mir aber nichts angezeigt.

    Schalte die Fehlermeldungen komplett ein, also error_reporting auf E_ALL und display_errors auf on. Vielleicht siehst du dann eine Meldung.

    dedlfix.

  2. Wie gesagt: ein Proxy Problem hatte ich vor ner Woche, und vor ein paar Tagen
    war ich dann bei dem XML -> Array Problem - hier meine Lösung:

    http://pastie.org/4209798