تحدد الدالة xml_set_element_handler() الدالة التي سيتم استدعاؤها في بداية ونهاية العناصر في مستند XML.
في حالة نجاحها، ترجع الدالة TRUE. إذا فشلت، ترجع FALSE.
xml_set_element_handler(المحلل اللغوي، البداية، النهاية)
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد محلل XML المراد استخدامه. |
يبدأ | مطلوب. تحديد دالة يتم استدعاؤها في بداية العنصر. |
نهاية | مطلوب. يحدد الوظيفة التي سيتم استدعاؤها في نهاية العنصر. |
يجب أن تحتوي الوظيفة المحددة بواسطة معلمة "البدء" على ثلاث معلمات:
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد متغيرًا يحتوي على محلل XML الذي يستدعي المعالج. |
اسم | مطلوب. يحدد متغيرًا يحتوي على اسم (كسلسلة) للعنصر الموجود في ملف XML الذي يقوم بتشغيل هذه الوظيفة. |
بيانات | مطلوب. يحدد مصفوفة تحتوي على سمات العناصر (كسلاسل) في ملف XML. |
يجب أن تحتوي الوظيفة المحددة بواسطة معلمة "النهاية" على معلمتين:
المعلمة | يصف |
---|---|
محلل | مطلوب. يحدد متغيرًا يحتوي على محلل XML الذي يستدعي المعالج. |
اسم | مطلوب. يحدد متغيرًا يحتوي على اسم (كسلسلة) للعنصر الموجود في ملف XML الذي يقوم بتشغيل هذه الوظيفة. |
ملاحظة: يمكن أن تكون معلمات البداية والنهاية عبارة عن مصفوفة تحتوي على مراجع الكائنات وأسماء الطرق.
<?php$parser=xml_parser_create();function start($parser,$element_name,$element_attrs) { Switch($element_name) { case "NOTE": echo "-- Note --<br />"; "إلى": صدى "إلى:" ؛ حالة "من": صدى "من:" ؛ حالة "العنوان": صدى "العنوان:" ؛ echo "Message: "; } }function stop($parser,$element_name) { echo "<br />" }function char($parser,$data) { echo $data }xml_set_element_handler($parser,"start" "stop");xml_set_character_data_handler($parser,"char");$fp=fopen("test.xml",r");while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) أو يموت (sprintf("خطأ XML: %s في السطر %d", xml_error_string(xml_get_error_code($parser) )))، xml_get_current_line_number($parser))); }xml_parser_free($parser);?>
يبدو إخراج الكود أعلاه كما يلي:
-- ملاحظة -- إلى: توفي من: جاني العنوان: رسالة تذكير: لا تنساني في نهاية هذا الأسبوع!