مثال
توابعی را برای فراخوانی در ابتدا و انتهای یک عنصر در XML مشخص کنید
سند (note.xml):
$parser=xml_parser_create();
شروع تابع($parser,$element_name,$element_attrs)
{
سوئیچ($element_name) {
case "NOTE":
echo "NOTE
";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
شکست؛
مورد «HEADING»:
بازتاب «سرصفحه: «;
شکست؛
مورد «BODY»:
echo "Message: ";
}
function stop($parser,$element_name) {
echo "
";
}
تابع کاراکتر($parser,$data) {
echo $data;
}
// توابعی را برای فراخوانی در ابتدا و انتهای یک مشخص کنید
عنصر در سند XML
xml_set_element_handler($parser,"start","stop");
xml_set_character_data_handler($parser,"char");
$fp=fopen("note.xml","r");
در حالی که ($data=fread($fp,4096)) {
xml_parse($parser,$data,feof($fp)) یا
die (sprintf("خطای XML: %s در خط %d"،
xml_error_string(xml_get_error_code($parser))،
xml_get_current_line_number($parser)));
xml_parser_free($parser);
fclose($fp);
?>
اجرای مثال »
تعریف و استفاده
تابع xml_set_element_handler() توابعی را مشخص می کند که باید در آن فراخوانی شوند
شروع و پایان یک عنصر در سند XML.
توجه: پارامترهای شروع و پایان همچنین میتوانند آرایهای باشند که حاوی یک
مرجع شی و نام روش.
نحو
xml_set_element_handler(تجزیه کننده، شروع، پایان)
مقادیر پارامتر
| پارامتر | توضیح |
|---|---|
| تجزیه کننده | لازم است. تجزیه کننده XML مورد استفاده | را مشخص می کند
| شروع | لازم است. تابعی را مشخص می کند که در شروع یک عنصر فراخوانی شود. تابع باید سه پارامتر داشته باشد:
|
| پایان | لازم است. تابعی را مشخص می کند که در انتهای یک عنصر فراخوانی شود. تابع باید دو پارامتر داشته باشد:
|
جزئیات فنی
| مقدار بازگشتی: | در مورد موفقیت درست است. FALSE در صورت شکست |
|---|---|
| نسخه PHP: | 4.0+ |
❮ مرجع تجزیه کننده PHP XML