محلل PHP XML DOM
يتيح محلل DOM المدمج إمكانية معالجة مستندات XML في PHP.
محلل XML DOM
محلل DOM هو محلل قائم على الشجرة.
انظر إلى جزء مستند XML التالي:
<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>
يرى DOM أن XML أعلاه هو هيكل شجرة:
- المستوى 1: مستند XML
- المستوى 2: عنصر الجذر: <من>
- المستوى 3: عنصر النص: "Jani"
التركيب
تعد وظائف محلل DOM جزءًا من نواة PHP. ليست هناك حاجة إلى تثبيت لاستخدام هذه الوظائف.
ملف 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>
تحميل وإخراج XML
نريد تهيئة محلل XML ، وتحميل xml ، وإخراجها:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
ناتج الكود أعلاه سيكون:
Tove Jani Reminder Don't forget me this weekend!
إذا حددت "عرض المصدر" في نافذة المتصفح ، فسترى رمز HTML التالي:
<?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>
يقوم المثال أعلاه بإنشاء كائن DOMDocument وتحميل XML من "note.xml" بداخله.
ثم تضع الوظيفة saveXML () وثيقة XML الداخلية في سلسلة ، حتى نتمكن من إخراجها.
التكرار خلال XML
نريد تهيئة محلل 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 DOM هذه العناصر كعناصر عادية ، وإذا لم تكن على علم بها ، فإنها تسبب مشاكل في بعض الأحيان.
إذا كنت تريد معرفة المزيد حول XML DOM ، فيرجى زيارة برنامج XML التعليمي الخاص بنا .