”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 SimpleXMLElement 在 PHP 中解析来自 cURL 的 XML 响应?

如何使用 SimpleXMLElement 在 PHP 中解析来自 cURL 的 XML 响应?

发布于2024-12-10
浏览:344

How to Parse XML Responses from cURL in PHP Using SimpleXMLElement?

使用 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