xml - 将 XML 转换为 PHP
问题描述
嗨,我知道如何从这个 SimpleXML 对象中获取 DisplayURL 的值,在尝试了该站点上发布的所有评论后,DisplayURL 总是为空的,任何想法都会非常感激。
谢谢你!
SimpleXMLElement Object
(
[soapBody] => SimpleXMLElement Object
(
[GetOrderDetailsResponse] => SimpleXMLElement Object
(
[GetOrderDetailsResult] => <?xml version="1.0" encoding="utf-16"?>
<QuestMethodResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MethodID>GETORDERDETAIL</MethodID>
<ClientReferenceID xsi:nil="true" />
<ReferenceTestID>2102207</ReferenceTestID>
<QuestOrderID>14706080</QuestOrderID>
<ResponseStatusID>SUCCESS</ResponseStatusID>
<DisplayURL>https://esp-load.employersolutions.com/Integration/OrderDetail</DisplayURL>
<Errors />
</QuestMethodResponse>
)
)
)
解决方案
这是我的功能
public function order($id = null, $student_id = null, $requirement_id = null)
{
$url = "https://qcs-uat.questdiagnostics.com/services/ESPService.asmx?wsdl";
$options = [
'soap_version' => SOAP_1_2,
'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP,
'classmap' => ['order' => 'questOrderDetail'],
'execptions' => true,
'trace' => true,
];
try {
$client = new SOAPClient($url, $options);
//dd($client->__getFunctions());
$params = array(
"username" => "removed",
"password" => "removed",
"questOrderId" => "14706080"
);
$response = $client->GetOrderDetails($params);
dump($response);
$xml = simplexml_load_string($xml->GetOrderDetailsResult, 'SimpleXMLElement', LIBXML_NOCDATA);
$json = json_encode($xml);
$xml_parse = json_decode($json, TRUE);
dd($xml_parse);
} catch (Exception $e) {
echo 'Message: ' .$e->getMessage();
}
die;
}
这是回应
stdClass Object
(
[GetOrderDetailsResult] => <?xml version="1.0" encoding="utf-16"?>
<QuestMethodResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MethodID>GETORDERDETAIL</MethodID>
<ClientReferenceID xsi:nil="true" />
<ReferenceTestID>2102207</ReferenceTestID>
<QuestOrderID>14706080</QuestOrderID>
<ResponseStatusID>SUCCESS</ResponseStatusID>
<DisplayURL>https://esp-load.employersolutions.com/Integration/OrderDetail?access_token=7d217186-84a6-4151-aa03-9317aab58b2b</DisplayURL>
<Errors />
</QuestMethodResponse>
)
我的目标是获取 ReponseStatusID 和 DisplayURL 的值
谢谢你!
推荐阅读
- python - 在熊猫系列的顶部和底部添加一个项目
- r - 如何从 R 中的多个基因列表生成相似度分数热图
- python - 如何提取 .docx 文件中 2 个或更多副本的图像
- javascript - 获取它实际使用的特定元素的宽度
- forms - Symfony 4 - ChoiceType 使用图标而不是文本标签
- filter - DAX 中的过滤器功能
- c# - 如何使用按钮更改图像框 | c# windows 窗体
- python - Python:我如何在浮点数中删除一定数量的小数
- javascript - 如何解决 npm 安装错误 node-gyp.js
- git - 凭证管理如何与 Jenkins、jenkins 从节点和 git 一起工作?