محلل PHP SimpleXML
SimpleXML هو امتداد PHP يسمح لنا بمعالجة بيانات XML والحصول عليها بسهولة.
محلل SimpleXML
SimpleXML هو محلل قائم على الشجرة.
يوفر SimpleXML طريقة سهلة للحصول على اسم العنصر والسمات والمحتوى النصي إذا كنت تعرف هيكل أو تخطيط مستند XML.
يحول SimpleXML مستند XML إلى بنية بيانات يمكنك تكرارها مثل مجموعة من المصفوفات والكائنات.
مقارنة بـ DOM أو المحلل اللغوي Expat ، يأخذ 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 .