دالة PHP xml_set_element_handler()
التعريف والاستخدام
تقوم دالة xml_set_element_handler() بإنشاء معالجي العنصر البدء والانتهاء.
إذا تم إنشاء المعالج بنجاح، فإن هذه الدالة ستعود true؛ وإلا ستعود false.
النحو
xml_set_element_handler(parser,start,end)
المعامل | وصف |
---|---|
parser | مطلوب. تحديد معالج XML الذي سيتم استخدامه. |
start | مطلوب. تحديد الدالة التي يتم استدعاؤها عند بدء العنصر. |
end | مطلوب. تحديد الدالة التي يتم استدعاؤها عند انتهاء العنصر. |
بالمعنى start المعامل المحدد يجب أن يكون له ثلاثة معاملات:
المعامل | وصف |
---|---|
parser | مطلوب. تحديد متغير يحتوي على معالج تحليل XML. |
name | مطلوب. تحديد متغير يحتوي على اسم العنصر، هذا العنصر يطلق هذه الدالة. |
data | مطلوب. تحديد مصفوفة تحتوي على خصائص العنصر. |
بالمعنى end المعامل المحدد يجب أن يكون له ثلاثة معاملات:
المعامل | وصف |
---|---|
parser | مطلوب. تحديد متغير يحتوي على معالج تحليل XML. |
name | مطلوب. تحديد متغير يحتوي على اسم العنصر، هذا العنصر يطلق هذه الدالة. |
شرح
start و end يمكن أن يكون المعامل أيضًا مصفوفة تحتوي على استدلالات الفئات واسم الدالة.
مثال
<?php $parser=xml_parser_create(); 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 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)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?>
Output:
-- Note -- To: George From: John Heading: Reminder Message: Don't forget the meeting!