1

外部URLからのxmlファイルがありますhttp://www.xmlcharts.com/cache/precious-metals.xml

<prices>
<pricelist currency="usd">
<price timestamp="1356079920" per="ozt" commodity="gold">1649.45</price>
<price timestamp="1356079680" per="ozt" commodity="palladium">676.00</price>
<price timestamp="1356079740" per="ozt" commodity="platinum">1553.75</price>
<price timestamp="1356079860" per="ozt" commodity="silver">29.95</price>
</pricelist>
<pricelist currency="eur">
<price timestamp="1356079920" per="ozt" commodity="gold">1248.80</price>
<price timestamp="1356079680" per="ozt" commodity="palladium">511.80</price>
<price timestamp="1356079740" per="ozt" commodity="platinum">1176.34</price>
<price timestamp="1356079860" per="ozt" commodity="silver">22.68</price>
</pricelist>
<pricelist currency="chf">
<price timestamp="1356079920" per="ozt" commodity="gold">1507.76</price>
<price timestamp="1356079680" per="ozt" commodity="palladium">617.93</price>
<price timestamp="1356079740" per="ozt" commodity="platinum">1420.28</price>
<price timestamp="1356079860" per="ozt" commodity="silver">27.38</price>
</pricelist>
</prices>

私はこれを介してこれをロードするためにPHPを使用しました

$xmlobj = simplexml_load_file($feedurl);
print_r($xmlobj->pricelist);

次のような出力が得られます。

SimpleXMLElement Object ( [pricelist] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [currency] => usd ) [price] => Array ( [0] => 1649.45 [1] => 676.00 [2] => 1553.75 [3] => 29.95 ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [currency] => eur ) [price] => Array ( [0] => 1248.80 [1] => 511.80 [2] => 1176.34 [3] => 22.68 ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [currency] => chf ) [price] => Array ( [0] => 1507.76 [1] => 617.93 [2] => 1420.28 [3] => 27.38 ) ) ) )

試しましたが、価格$xmlobj->pricelistがわかりません...

4

3 に答える 3

2
$xml = simplexml_load_file('http://www.xmlcharts.com/cache/precious-metals.xml');

foreach($xml as $pricelist) {
    // if($pricelist->attributes()->currency == 'usd')
    foreach($pricelist as $price) {
        echo $price[0].' ';
    }
}
于 2012-12-24T08:06:07.130 に答える
0

からの出力を実際に調べると、各アイテムの価格を取得していることprint_r($xmlobj->pricelist);わかります。オブジェクトとして扱って価格にアクセスしてみてください。経由で価格にアクセスし、それが機能するかどうかを確認します。pricelist$xmlobj->pricelist->price[1]

$xmlobj->pricelist->price配列にはあなたが探しているドロイドが含まれているので、私はこれを言います。

于 2012-12-24T07:59:10.100 に答える
0
$load_xml = simplexml_load_file("http://www.xmlcharts.com/cache/precious-metals.xml"); 
echo $load_xml->pricelist[0]->price[0]; //is gold

echo $load_xml->pricelist[0]->price[1]; //is palladium
echo $load_xml->pricelist[0]->price[2]; //is platinum
echo $load_xml->pricelist[0]->price[3]; //is silver
于 2013-01-20T17:00:31.690 に答える