Извлечение XML-ответов с помощью PHP cURL
В 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 извлекает XML-документ по указанному URL-адресу с помощью cURL с различными параметрами, обеспечивающими правильную обработку ошибок, перенаправлений и тайм-аутов. Результат сохраняется в переменной $sXML.
Для преобразования ответа XML в объект используется класс SimpleXMLElement. Этот класс предоставляет методы для прямого доступа к отдельным элементам и атрибутам XML-документа. В этом примере мы перебираем записи в документе и печатаем их заголовки.
Разбирая ответ XML в объект, становится значительно проще получать доступ к содержащимся в нем данным и манипулировать ими, что позволяет разработчикам извлекать конкретные данные. информацию и эффективно ее обрабатывать.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3