【问题标题】:How do I use php to access a data point within xml output coming from a url?如何使用 php 访问来自 url 的 xml 输出中的数据点?
【发布时间】:2018-08-07 21:54:37
【问题描述】:

我正在尝试从下面的 XML 访问单个数据点。然后我的目标是插入到一个 html 表中。以下代码一直给我一个 stdClass 对象,我不知道如何获取单个数据点。

这是 XML:

<?xml version="1.0" encoding="utf-8"?>
<response>
  <status>
    <code>0</code>
    <message>OK</message>
  </status>
  <data _idtype="ticker" _id="QYLD" _MstarId="F00000QEMN" _CurrencyId="CU$$$$$USD">
    <api _id="z87pq63qh3gbhraf">
      <TS-DayEndTradingVolume>55769</TS-DayEndTradingVolume>
      <TS-DayEndNAV>25.11</TS-DayEndNAV>
      <DP-NAVChange>0.11</DP-NAVChange>
      <DP-NAVChangePercentage>0.440000</DP-NAVChangePercentage>
      <FNA-FundNetAssets>186075814</FNA-FundNetAssets>
      <DP-DayEndDate>2018-02-27</DP-DayEndDate>
      <TS-MarketPriceOpen>25.2</TS-MarketPriceOpen>
      <PS-PriceToEarnings>0.03678</PS-PriceToEarnings>
      <TS-DayEndMarketPrice>25.06</TS-DayEndMarketPrice>
      <DMP-MarketPriceChange>-0.07</DMP-MarketPriceChange>
      <DMP-MarketPriceChangePercentage>-0.278552</DMP-MarketPriceChangePercentage>
      <DTTRV-NAV>24.98000</DTTRV-NAV>
      <DMP-SharesOutstanding>7448991.76741</DMP-SharesOutstanding>
      <DP-PremiumDiscount>0.32</DP-PremiumDiscount>
    </api>
  </data>
</response>

还有 PHP:

$xml = simplexml_load_file($url); // URL with above XML

$jsonConvert = json_encode($xml);

$singleDataPoint = json_decode($jsonConvert);

print_r($singleDataPoint)

【问题讨论】:

    标签: php arrays json xml


    【解决方案1】:

    实际上,您的 json 函数根本没有做任何事情。 json_encodejson_decode 的反义词,所以你可以完全省略这两行。

    可以找到数据点的内容,例如:

    $xml = simplexml_load_file($url);
    var_dump($xml->data->api->{'TS-DayEndTradingVolume'}->__tostring());
    

    如果您只是 echo 输入值或在字符串上下文中使用它,则不需要 __toString(),因为这将被暗示,但请注意,如果没有这个,它实际上是 @ 的一个实例987654326@ 对象,不是实际的字符串。

    【讨论】:

    • $xml = simplexml_load_file($url); print($xml->data->api->{'TS-DayEndTradingVolume'}->__tostring());使用“打印”让我只打印与数据关联的数字。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多