我正在尝试从下面的 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)
最佳答案
实际上你的 json 函数根本没有做任何事情。 json_encode
与 json_decode
相反,因此您可以完全省略这两行。
可以找到数据点的内容,例如:
$xml = simplexml_load_file($url);
var_dump($xml->data->api->{'TS-DayEndTradingVolume'}->__tostring());
如果您只是回显
值或在字符串上下文中使用它,则不需要__toString()
,因为这将是隐含的,但请注意如果没有这个,它实际上是 SimpleXMLElement
对象的实例,而不是实际的字符串。
关于php - 如何使用 php 访问来自 url 的 xml 输出中的数据点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49022445/