使用 PHP cURL 提取 XML 响应
在 PHP 中,cURL 可用于从服务器检索数据。但是,当响应采用 XML 格式时,输出可能存储在标量变量中,这使得解析变得困难。为了解决这个问题,将 XML 响应转换为对象、散列或数组以简化操作是有益的。
考虑以下代码:
function download_page($path){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$path);
curl_setopt($ch, CURLOPT_FAILONERROR,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$retValue = curl_exec($ch);
curl_close($ch);
return $retValue;
}
$sXML = download_page('http://alanstorm.com/atom');
$oXML = new SimpleXMLElement($sXML);
foreach($oXML->entry as $oEntry){
echo $oEntry->title . "\n";
}
在此代码中,download_page 函数使用 cURL 从指定的 URL 检索 XML 文档,并使用各种选项来确保正确处理错误、重定向和超时。结果存储在 $sXML 变量中。
为了将 XML 响应转换为对象,使用了 SimpleXMLElement 类。此类提供了以简单方式访问 XML 文档的各个元素和属性的方法。在此示例中,我们遍历文档中的条目并打印它们的标题。
通过将 XML 响应解析为对象,访问和操作它包含的数据变得相当容易,使开发人员能够提取特定的数据。信息并有效地处理它。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3