مثال
یک تجزیه کننده XML ایجاد کنید، کنترل کننده داده کاراکتر را تنظیم کنید، موجودیت خارجی را تنظیم کنید
کنترل کننده مرجع، و یک سند XML را تجزیه کنید:
// ایجاد یک تجزیه کننده XML
$parser=xml_parser_create();
تابع کاراکتر($parser,$data) {
echo $data;
function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
{
echo "$ent
";
echo "$sysID
";
echo "$pubID
";
// تنظیم کنید
کنترل کننده داده کاراکتر
xml_set_character_data_handler($parser,"char");
// تنظیم
کنترل کننده مرجع موجودیت خارجی
xml_set_exte
al_entity_ref_handler($parser, "ext_ent_handler");
$fp=fopen("note_entity.xml","r");
در حالی که ($data=fread($fp,4096)) {
// دادههای XML را تجزیه کنید
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_exte
al_entity_ref_handler() تابعی را مشخص می کند که وقتی تجزیه کننده موجودیت خارجی را در سند XML پیدا می کند، فراخوانی شود.
توجه: پارامتر handler همچنین میتواند یک آرایه حاوی یک مرجع شی و نام روش باشد.
نحو
xml_set_exte
al_entity_ref_handler(تجزیه کننده، handler)
مقادیر پارامتر
| پارامتر | توضیح |
|---|---|
| تجزیه کننده | لازم است. تجزیه کننده XML مورد استفاده | را مشخص می کند
| handler | لازم است. تابعی را برای استفاده به عنوان کنترل کننده رویداد مشخص می کند. تابع باید پنج پارامتر را بپذیرید:
|
جزئیات فنی
| مقدار بازگشتی: | درست است موفقیت FALSE در صورت شکست |
|---|---|
| نسخه PHP: | 4.0+ |
❮ مرجع تجزیه کننده PHP XML