السلام عليكم ورحمه الله وبركاته
بما ان هذه المشاركة الاولى لي هنا احبيت ان اطرح
معلومة حول SimpleXML Functions
المتوفرة عبر الرابط : PHP: SimpleXML Functions - Manual
يعتبر هذا الكائن او دوال SimpleXML دوال مهمة لتعرف على ملفات XML وتحضيرها كمصفوفة مسبقة تستطيع استخدامه سلمها بسهولة فسأوفر في هذا الشرح هذه التقنية السهلة المبسطة للانفتاح في مجال الكائنات الاخرى ومكتبات PHP Xml الاخرى
عادتاً واهم دالة سنتكلم عنها هي
simplexml_ load_ file
تعتبر هذه الدالة او بالاحرى هي ليست دالة بل كائن لكن انشاءه لايحتاج الى new لانه عبارة عن وظيفة متدرجة من مكتبة مثبتة تدعم ميزات XML
فلنتحدث عن هذه الدالة بشكل المبسط
الذي سيؤهلنا لتعامل مستقبلاً مع المكتبة كاملة بشكل اوضح
فيتوجب في هذا الدرس ان نوضح الية العمل بشكل البسيط لنوفر فهم حتى نتوسع لما هو اكبر
الدالة اعلاه تعتمد على خمس تمريرات او مايسمى ARGs او Pars
لكن مايهمنا منهم في هذا الدرس تمريرة واحدة فقط وهي الاولى وهي الملف المراد جلبه
فمثلاً لو اردنا تحضير ملف XML لقرائته في PHP فيتوجب انشاء متغير يعتمد عليه في هذه الدالة كمثال سأستخدم موقع Alexa المشهور لجلب بعض المعلومات منه
فالنبدء بالتحضير واعداد الدالة
اولاً يتوجب جلب ملف XML كالتالي
رمز PHP:
وبما اني استخدم اليكسا في شرحي سيكون كالتالي لنطلب على سبيل المثال traidnt
رمز PHP:
لاحظ معي انني استخدمت متغير واسميته xml وهو الذي سيعتمد الكائن xml فهذه الدالة حولتي بيانات ملف XML لمصفوفة استطيع الوصول لبياناته في PHP بسهولة مثلاً لنقرء المصفوفة اعلاه ونكتب بشكل الكامل
رمز PHP:
هل شاهدت ماجرى !! :nosweat:
يبدوا وانه امر جميل اذاً استطعنا تحويل بيانات XML لمصفوفة يمكننا استخدامها في PHP الان مع الاستخدام كمثال لو اردت جلب شيء معين مثلاً سأجلب POPULARITY
لاحظ معي في الرابط اين مكانها
http://data.alexa.com/data?cli=10&ur...ww.traidnt.net
هل لاحظت مكانها هي في ALEXA تفرع SD من ثم POPULARITY
الان كيف اطلب POPULARITY ؟؟
يمكنك طلبها بتدرج المصفوفات المتداخلة فنحن نعلم ان الان الامر اعلاه اصبح لمصفوفة كما شاهدنا في PRINT_R
الان نحول المصفوفة الى كائنية الطلب كمثال
المتغير الرئيسي الذي قام بجلب ملف xml وهو المتغير xml الذي عرفناه في بداية الدرس
كالتالي
رمز PHP:
$xml
نبدء الان في الطلب التدريجي لصفوف لاتبدء في ALEXA لانه Root Elm
لذلك ستبدء من SD
فيكون الطلب
رمز PHP:
$xml->SD
لاحظ معي ان حساسية الاحرف حساسة فلو كتبت Upr فيتوجب ان تكون Upr
لذلك حتى هذه اللحظة لم نصل الى مانريده وهو POPULARITY
فلذلك ندخل عليه بالتدريج الكائني
رمز PHP:
$xml->SD->POPULARITY;
لاحظ معي اننا مازلنا لم نصل لشيء لاننا لم نضع امر الطباعة لكن مايهمني الان هو الوصول للقيم فملف XML الخاص ALEXA يحتوي على وصوف نريد الوصول اليها فلذلك يتوجب ان نذهب للوصف عن طريق المصفوفة [] مثلاً لو اردت TEXT الموجود في POPULARITY فسأقول له
رمز PHP:
echo $xml->SD->POPULARITY[TEXT];
لاحظ ماتوصلنا اليه الكود كامل
رمز PHP:
SD->POPULARITY[TEXT];
?>
?>
هل شاهدت كيفية الوصول
دعنا نفسر ماحدث
اولاً : جهزنا الدالة لاستقبال ملف
ثانياً : عرضناه على انه مصفوفة لنعرف بياناته
ثالثاً : الروت لايوضع ضمن قائمة المصفوفة لانه رئيسي
رابعاً : كل صف رئيسي يوضع بشكله الطبيعي كمثال SD او POPULARITY بينما الوصوف توضع كصف [TEXT] .
اعتقد ان الامر بسيط لكنه يحتاج تطبيق
لا استفسار يرجى ذكره هنا قبل الانتقال للمكتبة وتوضيح rP الاخرى