يتعامل PHP SimpleXML مع مهام XML الأكثر شيوعًا، ويترك الباقي للملحقات الأخرى.
SimpleXML هي ميزة جديدة في PHP 5.
يوفر ملحق SimpleXML طريقة بسيطة للحصول على اسم ونص عناصر XML.
بالمقارنة مع موزعي DOM أو Expat، يمكن لـ SimpleXML قراءة البيانات النصية من عناصر XML باستخدام بضعة أسطر فقط من التعليمات البرمجية.
يمكن لـ SimpleXML تحويل مستندات XML (أو سلاسل XML) إلى كائنات، مثل:
يتم تحويل العنصر إلى خاصية واحدة لكائن SimpleXMLElement. عندما يكون هناك عناصر متعددة على نفس المستوى، يتم وضعها في مصفوفة.
يتم الوصول إلى الخصائص باستخدام مصفوفة ترابطية، حيث يتوافق الفهرس مع اسم الخاصية.
يتم تحويل النص الموجود داخل العنصر إلى سلسلة. إذا كان العنصر يحتوي على عقد نصية متعددة، فسيتم ترتيبها بالترتيب الذي تم العثور عليه به.
يعد SimpleXML سريعًا جدًا للاستخدام عند تنفيذ المهام الأساسية مثل:
قراءة/استخراج البيانات من ملفات/سلاسل XML
تحرير عقدة النص أو السمة
ومع ذلك، عند التعامل مع XML المتقدم، مثل مساحات الأسماء، فمن الأفضل استخدام المحلل اللغوي Expat أو XML DOM.
بدءًا من PHP 5، تعد وظائف SimpleXML جزءًا من جوهر PHP. لا يلزم التثبيت لاستخدام هذه الوظائف.
لنفترض أن لدينا ملف XML التالي، "note.xml":
< ؟ الإصدار = " 1.0 " الترميز = " ISO-8859-1 " ?> <ملاحظة> < إلى > توفي </ إلى > < من > جاني </ من > < العنوان > تذكير </ العنوان > < الجسم > لا تنساني في نهاية هذا الاسبوع </ الجسم > </ ملاحظة >نريد الآن إخراج معلومات مختلفة من ملف XML أعلاه:
قم بإخراج مفاتيح وعناصر المتغير $xml (وهو كائن SimpleXMLElement):
<?php $xml = simplexml_load_file ( " note.xml " ) ؛ print_r ( $xml ) ? >سيتم إخراج الكود أعلاه:
كائن SimpleXMLElement ( [to] => Tove [from] => Jani [heading] => Reminder [body] => لا تنساني في نهاية هذا الأسبوع!)
بيانات الإخراج لكل عنصر في ملف XML:
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $ xml - > إلى " <br> " ; $ xml - > من " <br> " ; $ xml - > العنوان $xml -> الجسم ? >سيتم إخراج الكود أعلاه:
ToveJaniتذكير لا تنساني في نهاية هذا الأسبوع!
إخراج اسم العنصر والبيانات لكل عقدة فرعية:
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $ xml - > getName ( ) " <br> " ;مثل $طفل ) { صدى $ child - > getName ( ) " : " $ child . ?>سيتم إخراج الكود أعلاه:
ملحوظة: Tovefrom: Jani العنوان: Reminderbody: لا تنساني في نهاية هذا الأسبوع!
لمعرفة المزيد حول وظائف PHP SimpleXML، تفضل بزيارة الدليل المرجعي لـ PHP SimpleXML.