首页 > 解决方案 > 在 PHP 中从 cURL 请求解析 XML

问题描述

我已经阅读了许多类似的帖子,但似乎没有一个对我有帮助。我正在发出一个 cURL 请求,它返回:

<?xml version='1.0'?>
<Response>
<stats>
  <searchInput>Area Code=XXX, Phone Number=XXXXXXX, First Name=, Middle Name=, Last Name=, City=, State=</searchInput>
  <rows>1</rows>
</stats>
  <record>
    <firstname></firstname>
    <middlename></middlename>
    <lastname></lastname>
    <addressA></addressA>
    <addressB></addressB>
    <info>Not Found - Possible pre-paid or unregistered number</info>
    <phone>(XXX)XXX-XXXX</phone>
    <phone_carrier></phone_carrier>
    <provider_type></provider_type>
  </record>
</Response>

但是,当我尝试通过

// Find record using phone number
$result = Search::find_by_number($area_code, $phone_num);
$result = json_decode($result);

然后使用$result->record->firstname我得到试图获取非对象属性的错误。对我来说 XML 看起来是有效的,我做错了什么?

谢谢!!

标签: phpjson

解决方案


xml 格式的 cURL 输出,您可以使用simplexml_load_string对其进行解析:

// Find record using phone number
$result = Search::find_by_number($area_code, $phone_num);
$result = simplexml_load_string($result);

推荐阅读