我正在发送一个XML URL以返回一些我已经设法显示为多个数组的数据。我发现很难区分一些特定的数据,并希望有人能够教我如何正确地将这些数据添加到变量中。从XML响应访问数组部分的问题
下面是使用print_r();
SimpleXMLElement Object ([@attributes] => Array ([Status] => OK) [Errors] => SimpleXMLElement Object () [Warnings] => SimpleXMLElement Object () [RequestedCommand] => namecheap.domains.check [CommandResponse] => SimpleXMLElement Object ([@attributes] => Array ([Type] => namecheap.domains.check) [DomainCheckResult] => SimpleXMLElement Object ([@attributes] => Array ([Domain] => test.com [Available] => false [ErrorNo] => 0 [Description] => [IsPremiumName] => false [PremiumRegistrationPrice] => 0 [PremiumRenewalPrice] => 0 [PremiumRestorePrice] => 0 [PremiumTransferPrice] => 0 [IcannFee] => 0 [EapFee] => 0))) [Server] => PHX01APIEXT01 [GMTTimeDifference] => --4:00 [ExecutionTime] => 0.045)
我通常可以管理阵列好吗全阵列,虽然是“@属性”在这里被绊倒了我...这是我的脚本到目前为止(裸记住我只是在这里测试)。
$xml = simplexml_load_string($data);
print_r($xml);
echo '<br><br>';
$status = current($xml->attributes());
$results = $xml->DomainCheckResult->attributes();
echo $status['Status'];
echo '<br><br>';
print_r($results);
的$status
变量工作和回声的 'OK'。 的$results
变量似乎只显示“SimpleXMLElement对象()”
我试图瞄准这些专门 -
[Domain] => test.com [Available] => false [ErrorNo] => 0 [Description] => [IsPremiumName] => false [PremiumRegistrationPrice] => 0 [PremiumRenewalPrice] => 0 [PremiumRestorePrice] => 0 [PremiumTransferPrice] => 0 [IcannFee] => 0 [EapFee] => 0
但我似乎无法得到远远超出我已经是谁?我将如何使用这些数据来获得类似以下内容:
$domain_req = $xml[Domain];
$domain_avail = $xml[Available];
等等......?
按照要求,这里是原始的XML -
<ApiResponse xmlns="http://api.namecheap.com/xml.response" Status="OK">
<Errors/>
<Warnings/>
<RequestedCommand>namecheap.domains.check</RequestedCommand>
<CommandResponse Type="namecheap.domains.check">
<DomainCheckResult Domain="test.com" Available="false" ErrorNo="0" Description="" IsPremiumName="false" PremiumRegistrationPrice="0" PremiumRenewalPrice="0" PremiumRestorePrice="0" PremiumTransferPrice="0" IcannFee="0" EapFee="0"/>
</CommandResponse>
<Server>PHX01APIEXT03</Server>
<GMTTimeDifference>--4:00</GMTTimeDifference>
<ExecutionTime>0.018</ExecutionTime>
</ApiResponse>
可以显示原始XML而不是输出或'print_r'。 –
@NigelRen我已经更新了我的问题 – Snappysites