使用PHP导入和解析XML

时间:2012-07-28 04:21:05

标签: php xml parsing import simplexml

我正在尝试通过API将XML文件导入到我的php脚本中,然后解析所述XML文件并提取字符串。我在网站空间搜索了一个答案,虽然我找到了大量的资源但我还是无法让这个脚本工作。

我正在加载的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 ( ) 

另外,在其他一些网络教程之后,我尝试了这个改变

$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并每两天获取一次余额并存储要在使用highchart呈现的图表中使用的数据。

任何帮助将不胜感激! 感谢

1 个答案:

答案 0 :(得分:1)

穆萨回答了这个问题

  

我不知道simplexml但不应该   $ xml-&gt; result-&gt; rowset-&gt; row-&gt; attributes() - &gt; balance - Musa

我是个白痴,在输入路径时没有再检查xml。

由于