0

API 経由で XML ファイルを php スクリプトにインポートしようとしています。このスクリプトは、その XML ファイルを解析して文字列を抽出します。答えを求めて Web スペース全体を検索しましたが、大量のリソースが見つかりましたが、このスクリプトを機能させることはまだできません。

読み込んでいる XML ファイルは次のようになります。

<api version="2">
  <currentTime>2012-07-28</currentTime>
    <result>
      <rowset name="accounts" key="accountID" columns="accountID,accountKey,balance">
        <row accountID="555555555" accountKey="6666" balance="7777777777.23"/>
      </rowset>
    </result>
  <cachedUntil>2012-07-28</cachedUntil>
</api>

PHP スクリプトで属性balanceの値を取得しようとしています。これは、これまでにまとめたコードです。

<?php

$apiurl = "api.some-arbitrary-api-site.com;
$xml = simplexml_load_file($apiurl);

print_r($xml);
$balance = $xml->balance;
print_r($balance);    

?>

これは以下を返します:

SimpleXMLElement Object ( ) 

また、他のいくつかのWebチュートリアルに従って、この変更を試しました

$balance = $xml->row->attributes()->balance;
print_r($balance);

吐き出すもの

Warning: main() [function.main]: Node no longer exists in C:\xampp\htdocs\EVE\progress\import.php on line 22

Warning: main() [function.main]: Node no longer exists in C:\xampp\htdocs\EVE\progress\import.php on line 22

私は何を間違っていますか?最終的な結果として、ページはこの API をロードし、2 日に 1 回残高をフェッチし、highchart を使用してレンダリングされたチャートで使用されるデータを保存します。

どんな助けでも大歓迎です!ありがとう

4

1 に答える 1

1

ムサが質問に答えた

simplexml はわかりませんが、$xml->result->rowset->row->attributes()->balance ではないでしょうか – Musa

私はばかだったので、パスを入力するときにxmlをもう一度チェックしませんでした。

ありがとう

于 2012-07-28T04:31:51.280 に答える