SimpleXML هو امتداد PHP التي تتيح لنا أن التلاعب بسهولة والحصول على بيانات XML.
وSimpleXML محلل
SimpleXML هو محلل القائم على شجرة.
يوفر SimpleXML طريقة سهلة للحصول على اسم عنصر، وسمات ومحتوى نصية إذا كنت تعرف هيكل وثيقة XML أو تخطيط.
SimpleXML تتحول وثيقة XML إلى بنية البيانات التي يمكن تكرار خلال مثل مجموعة من المصفوفات والكائنات.
بالمقارنة مع DOM أو محلل الوافدة، SimpleXML يأخذ خطوط أقل من التعليمات البرمجية لقراءة البيانات النص من عنصر.
التركيب
اعتبارا من PHP 5، وظائف SimpleXML هي جزء من جوهر PHP. لا يلزم التثبيت لاستخدام هذه الوظائف.
PHP SimpleXML - قراءة من سلسلة
وPHP simplexml_load_string() يتم استخدام الدالة لقراءة بيانات XML من السلسلة.
نفترض لدينا متغير يحتوي على بيانات XML، مثل هذا:
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";
المثال التالي يوضح كيفية استخدام simplexml_load_string() وظيفة لقراءة بيانات XML من سلسلة:
مثال
<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";
$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create
object");
print_r($xml);
?>
تشغيل المثال » الناتج من التعليمات البرمجية أعلاه سيكون:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder
[body] => Don't forget me this weekend! )
الخطأ التعامل مع نصيحة: استخدم وظيفة libxml لاسترداد كافة الأخطاء XML عند تحميل المستند ثم أعاد على الأخطاء. يحاول المثال التالي لتحميل سلسلة XML المكسورة:
مثال
<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml
version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>[email protected]</wrongemail>
</document>";
$xml = simplexml_load_string($myXMLData);
if ($xml
=== false) {
echo "Failed loading XML: ";
foreach(libxml_get_errors() as $error) {
echo "<br>" , $error->message;
}
} else {
print_r($xml);
}
?>
تشغيل المثال » الناتج من التعليمات البرمجية أعلاه سيكون:
Failed loading XML:
Opening and ending tag mismatch: user line 3 and
wronguser
Opening and ending tag mismatch: email line 4 and wrongemail
PHP SimpleXML - قراءة من ملف
وPHP simplexml_load_file() يتم استخدام الدالة لقراءة بيانات XML من ملف.
نفترض لدينا ملف XML تسمى " note.xml "، التي تبدو مثل هذا:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
المثال التالي يوضح كيفية استخدام simplexml_load_file() وظيفة لقراءة بيانات XML من ملف:
مثال
<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create
object");
print_r($xml);
?>
تشغيل المثال » الناتج من التعليمات البرمجية أعلاه سيكون:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder
[body] => Don't forget me this weekend! )
نصيحة: ويبين الفصل التالي كيفية الحصول على / استرداد القيم عقدة من ملف XML مع SimpleXML!
المزيد PHP SimpleXML
لمزيد من المعلومات حول وظائف PHP SimpleXML، يرجى زيارة موقعنا PHP SimpleXML المرجعي.