所以这是我的问题,我需要一些帮助。
下面是我的数组输出
[TransactionDetails] => stdClass Object
(
[TransactionId] => 60089978
[TransactionDate] => 2021-10-20T12:43:24.413
[Product] => stdClass Object
(
[@attributes] => stdClass Object
(
[name] => IdentiFraud Consumer+
[version] => 2.2.0
)
)
这是我用来从xml回复中调用它的方法……
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestXml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
// Debug output of the response
libxml_use_internal_errors(TRUE);
$objXmlDocument = simplexml_load_string($response);
if ($objXmlDocument === FALSE) {
echo "There were errors parsing the XML file.\n";
foreach(libxml_get_errors() as $error) {
echo $error->message;
}
exit;
}
$objJsonDocument = json_encode($objXmlDocument);
$arrOutput = json_decode($objJsonDocument);
我试过了.
$arrOutput['TransactionDetails']['TransactionID']
$arrOutput['TransactionDetails']->TransactionID
以及这里的每一次迭代。我用过Json_decode真假两样都试过了,不是,joy....
请帮帮我没做的事好吗?
发布于 2021-10-20 05:00:08
使用XML和json_decode
$response
)
json_encode
中的内容直接从$objXmlDocument
获取所需的数据
例如,如果$response
看起来像这样:
<TransactionDetails>
<TransactionId>60089978</TransactionId>
</TransactionDetails>
然后$objXmlDocument
表示<TransactionDetails>
标记,要获取<TransactionId>
标记中的值,您可以编写以下代码:
echo $objXmlDocument->TransactionId;
https://stackoverflow.com/questions/69646304
复制