php - 在 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 看起来是有效的,我做错了什么?
谢谢!!
解决方案
xml 格式的 cURL 输出,您可以使用simplexml_load_string对其进行解析:
// Find record using phone number
$result = Search::find_by_number($area_code, $phone_num);
$result = simplexml_load_string($result);
推荐阅读
- xslt - 如何使用 xslt 转换为制表符分隔的文本文件
- r - 如何将多个嵌套的 XML 元素转换为数据框?
- flutter - 颤振二级动画未运行
- go - 使用缓冲区作为输出时,压缩文件夹已损坏
- python - 为什么 0.24.2 版中没有关于 pandas.MultiIndex.map 的文档?它与 pandas.Index.map 有关吗?
- php - 如何使用 pregmatch 验证无字符 /.%\@?在输入字段中,仅 A-Za-z0-9./ 在另一个输入字段中
- flutter - Flutter Admob 与 ios WebView
- html - 具有动态高度的 Flex-wrap
- android - Moshi:将多个 JSON 属性放入一个类的一个字段中
- python - 用于 FTP 下载的 Python 进度条不起作用