"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحليل استجابات XML من cURL في PHP باستخدام SimpleXMLElement؟

كيفية تحليل استجابات XML من cURL في PHP باستخدام SimpleXMLElement؟

تم النشر بتاريخ 2024-12-10
تصفح:601

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

استخراج استجابات 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