XML و DOM




يجعل مفسر الاوامر الامر سهلاً لقراءة ملفات XML ضمن صفحات PHP .




ماهي لغة DOM


تعتبر لغة DOM لغة معيارية من منظمة الويب العالمية W3C .

تشرح لغة DOM أساسيات التحكم بصفحة HTML و XML .

ان لغة DOM , وهي اختصار Document Object Model نموذج صفحة الكائن , هي منصة و واجهة محايدة لغوية برمجية تساعد البرامج والأكواد على تعديل المحتوى والشكل و تصميم الصفحة بشكل ديناميكي .

تقسم لغة DOM الى ثلاثة أقسام أو مستويات :



  1. Core DOM : النموذج الأساسي لأي بنية صفحة ويب .

  2.  XML DOM : النموذج الأساسي لصفحات XML .

  3.  HTML DOM : النموذج الأساسي لصفحات HTML .


لدراسة المزيد حول لغة DOM يمكنك زيارة دورة XML DOM من مكتبة المعهد .




ماهو المفسر ؟


يستخدم من أجل قراءة و تحديث و إنشاء ومعالجة ملف XML حيث ستحتاج الى مفسر XML .

يوجد نوعان أساسيان من مفسر XML :

  •  المفسر الشجري: يقوم هذا المفسر بتحويل ملف XML الى بنية شجرية حيث تقوم بتحليل الصفحة كاملة كما تقدم صلاحيات لجميع عناصر الصفحة كما في لغة Document Object Model (DOM) .

  •  المفسر الحدثي : يقوم هذا المفسر بعرض صفحة XML كسلسلة من الأحداث و عند حدوث حدث معين سيتم استدعاء كود وظيفي للتعامل معه .


يمكن تعريف المفسر DOM يعتمد على المفسر الشجري .

لاحظ المثال التالي :
<?xml version="1.0" encoding="ISO-8859-1"?>
<from>Jani</from>


يظهر XML DOM في المثال السابق على شكل بنية شجرية :

  • المستوى 1 : صفحة XML

  • المستوى 2 : عنصر جذري <from>

  •  المستوى 3 : عنصر نصي "Jani"






التنصيب


تعتبر الأكواد الوظيفية في مفسر XML جزء من أكواد PHP و لذلك لاتحتاج إلى تنصيبات اضافية لاستخدام تلك الأكواد .




ملف XML


مثال عن ملف XML والذي سيتم استخدامه لاحقاً :
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>






تحميل و إظهار ملف XML


سنقوم بتحميل ملف XML وإظهاره على المتصفح :

مثال
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();

?>



ستظهر النتيجة على المتصفح كالتالي :
Tove Jani Reminder Don't forget me this weekend!

ان قمنا باختيار إظهار مصدر الصفحة View source في المتصفح سنشاهد الكود التالي :
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>



ينشئ المثال السابق كائن في الصفحة ثم يقوم بتحميل ملف XML من خلال الملف note.xml .

ثم نستخدم saveXML() حيث سيحول كود الصفحة الى وسوم يمكن مشاهدتها على المتصفح .




الحلقات من خلال XML


الان سنقوم بإنشاء حلقة في مفسر XML تمر بجميع العناصر الموجودة داخل <note> .

مثال
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
print $item->nodeName . " = " . $item->nodeValue . "<br />";
}
?>



ستظهر النتيجة في المتصفح كالتالي :

#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =

في المثال السابق يمكنك ملاحظة بأن هناك عقد نص فارغ بين كل عنصر .

تحتوي XML على فواصل بين العقد عند إنشاء ملف XML . يقدم مفسر XML DOM كعنصر عادي وان لم تكن مدركاً لهم سيتم توليد أخطاء .




ليست هناك تعليقات:

إرسال تعليق