• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Dumme simpleXML Frage

TecEye

New member
Code:
$xml	= simplexml_load_string(file_get_contents("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"));
$ecb_rate = $xml->Cube->Cube->Cube[10]['rate'];
Will den aktuellen Wechselkurs der schweizer Franken haben CHF, ich zieh mir die elfte Stelle raus, aber kann ich nicht irgendwie angeben dass ich Cube (wo currency==CHF) auslesen kann? Weil will mich ja nicht darauf verlassen dass es immer auf der elften stelle ist :p
 
Deine XML nutzt XML-Namespaces, die du vor der Nutzung von XPath registieren musst, sonst wird das nix.
Eine mögliche Lösung per XPath:
PHP:
$xml	= simplexml_load_file("http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
$xml->registerXPathNamespace('_',"http://www.ecb.int/vocabulary/2002-08-01/eurofxref" );
$rateArr = $xml->xpath("//_:Cube[@currency='CHF']/@rate");
$rateCHF = (string)$rateArr[0];
var_dump($rateCHF);  //string(6) "1.0913"
xpath liefert bei Erfolg immer ein Array von Objekten, dessen erster Treffer hier geholt und zum String gecastet wird.

LG jspit
 
Zuletzt bearbeitet:
Zurück
Oben