محلل PHP XML الوافدة
المدمج في محلل PHP المغتربين يجعل من الممكن لمعالجة وثائق XML.
ما هو XML؟
يستخدم XML لوصف البيانات والتركيز على ما هي البيانات نعم. يصف ملف XML هيكل البيانات.
في XML، ليس هناك علامات محددة مسبقا. يجب تحديد العلامات الخاصة بك.
لمعرفة المزيد حول XML، يرجى زيارة موقعنا على XML البرنامج التعليمي .
ما الوافدة نعم؟
لقراءة وتحديث - إنشاء والعملية - وثيقة XML، تحتاج إلى محلل XML.
هناك نوعان أساسيان من موزعي XML:
- محلل أساس شجرة: هذا محلل يحول وثيقة XML إلى بنية شجرة. ويحلل الوثيقة بأكملها، ويوفر الوصول إلى العناصر في شجرة، مثل طراز كائن المستند (DOM).
- الحدث القائم محلل: وثيقة XML على شكل سلسلة من الأحداث. عند حدوث حدث معين، سوف محلل استدعاء الدالة لمعالجة.
محلل المغتربين هو محلل الحدث القائم.
التركيز محلل الحدث القائم على محتوى وثيقة XML، بدلا من هيكلها. وبسبب هذا، يمكن محلل الحدث القائم الوصول إلى البيانات بشكل أسرع من محلل القائم على شجرة.
النظر في جزء XML التالية:
تقارير محلل الحدث القائم على XML فوق على شكل سلسلة من ثلاثة أحداث:
- بدء العنصر: من
- بدء مقطع CDATA، القيمة: جاني
- انهيار العنصر: من
XML سبيل المثال يحتوي على أعلى XML بشكل جيد. ولكن هذا المثال ليس XML صالح، لأنه لا يرتبط تعريف نوع المستند (DTD) معها.
ومع ذلك، عند استخدام محلل الوافدة، وهذا لا فرق. لم يتم تحديد محلل المغتربين للتأكد من صحتها، وتجاهل أي DTD.
باعتبارها غير التحقق من صحة-محلل XML القائمة على الحدث، الوافدة سريعة وخفيفة الوزن، ومناسبة جدا لتطبيقات الويب PHP.
ملاحظة: يجب أن يكون مستند XMLمنسق بشكل جيد، وإلا الوافدة سوف يولد خطأ.
تثبيت
وظائف محلل XML الوافدة هي جزء من جوهر PHP. لم يكن هناك التثبيت لاستخدام هذه الوظائف.
ملف XML
ملف XML أدناه سيتم استخدامها في مثالنا:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
تهيئة محلل XML
نريد تهيئة محلل XML في PHP، وتحديد معالج للأحداث XML مختلفة، ومن ثم تحليل ملف XML.
أمثلة
//Initialize the XML parser
$parser=xml_parser_create();
//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
{
switch($element_name)
{
case "NOTE":
echo "-- Note --<br>";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
break;
case "HEADING":
echo "Heading: ";
break;
case "BODY":
echo "Message: ";
}
}
//Function to use at the end of an element
function stop($parser,$element_name)
{
echo "<br>";
}
//Function to use when finding character data
function char($parser,$data)
{
echo $data;
}
//Specify element handler
xml_set_element_handler($parser,"start","stop");
//Specify data handler
xml_set_character_data_handler($parser,"char");
//Open XML file
$fp=fopen("test.xml","r");
//Read data
while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
//Free the XML parser
xml_parser_free($parser);
?>
رمز أعلاه الناتج الإرادة:
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!
كيف يعمل:
- بواسطة xml_parser_create () وظيفة تهيئة محلل XML
- خلق مع وظيفة مختلفة معالج الأحداث
- إضافة xml_set_element_handler () وظيفة لتحديد والتي تعمل على أداء عندما يصادف محلل للعلامات البداية والنهاية
- إضافة xml_set_character_data_handler () وظيفة لتحديد والتي تعمل على أداء عندما يصادف محلل بيانات شخصية
- بواسطة xml_parse () لتحليل ملف "test.xml"
- في حالة وجود خطأ، ثم إضافة xml_error_string () وظيفة لتحويل وصف XML نص الخطأ
- استدعاء xml_parser_free () تعمل على إطلاق سراح المخصصة لxml_parser_create () وظيفة الذاكرة
مزيد من المعلومات PHP الوافدة محلل
لمزيد من المعلومات حول وظائف PHP الوافدة، زيارة موقعنا PHP XML دليل محلل المرجعي .