質問

したい通貨を変換では、ユーロドルまでいってしまいました。
欧州中央銀行の料金はこちら
http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
取得できますの米ドルレートの最初のノードが、どのような変更をすることにあります。
いいます。わたしにはわかりませんか..

$xml = @simplexml_load_file('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
echo "dollar: " . $xml->Cube->Cube->Cube[0]->attributes()->rate;
役に立ちましたか?

解決

ただ、トリックを行います「USD」に等しい属性@currency、との任意のノードを取得するXPathを使用します。

$xref  = simplexml_load_file('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
$nodes = $xref->xpath('//*[@currency="USD"]');

echo $nodes[0]['rate'];

他のヒント

このコード例は、このページ:

ボタンをクリックするだけのタブ 開発者

また(ピアツェンツァのドゥオーモ) PEARパッケージのための為替レート

べきであれば変更します。そうなれば、ことになったと言われています。

あなたはforeachでのSimpleXMLオブジェクトを反復処理することができます。

foreach( $xml->Cube->Cube as $cube ) {
    if( isset( $cube->attributes()->rate ) ) {
         $rate = $cube->attributes()->rate; 
    }    
}

あなたはXPathを使用することができます。

$rate = $xml->xpath("//Cube[currency='USD']/rate")

あなたは正しいです。現在、あなたは0thされるUSDエントリを仮定して、あなたの仮定が失敗した将来のオーダーが変更された場合されています。だから、注文のアプリケーションが依存しないようにするには、ループ内currency属性を確認することができます。あなたはそれに対応する"USD"属性を取得することができます値rateを持つものを見つけた瞬間ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top