2016-02-29 119 views
0

获取数据我有以下代码:PHP - 从XML饲料

<?php 

    $url = 'http://www.floatrates.com/daily/gbp.xml'; 
    $xml = simplexml_load_file($url) or die("feed not loading"); 

    foreach ($xml as $val) { 
    echo "<pre>" . print_r($val) . "</pre>"; 
    } 

?> 

,其输出的这些负载(1元货币):

SimpleXMLElement Object ([title] => 1 GBP = 1.39687377 USD [link] => http://www.floatrates.com/gbp/usd/ [description] => 1 U.K. Pound Sterling = 1.39687377 U.S. Dollar [pubDate] => Mon, 29 Feb 2016 00:00:01 GMT [baseCurrency] => GBP [baseName] => U.K. Pound Sterling [targetCurrency] => USD [targetName] => U.S. Dollar [exchangeRate] => 1.39687377) 

如何抢只有美元吗?然后提取汇率?

我已经试过

if ($val['targetCurrency'] == "USD") { 
} 

但是,这并不目前

+0

[看手册](http://php.net/manual/en/simp lexml.examples-basic.php)为基本用法的一个例子 –

回答

0

由于工作从罗比链接:

if ($val->targetCurrency == "USD") { 
    echo $val->exchangeRate; 
} 
0

您也可以使用XPath这样做

$url = 'http://www.floatrates.com/daily/gbp.xml'; 
$xml = simplexml_load_file($url) or die("feed not loading"); 

$results = $xml->xpath('/channel/item/targetCurrency[.="USD"]/following-sibling::exchangeRate'); 

$exchangeRate = (float)$results[0];