توابع PHP xml_set_default_handler()

تعریف و استفاده

توابع xml_set_default_handler() برای تفسیرگر XML یک پردازنده داده پیش‌فرض ایجاد می‌کند.

این تابع مشخص می‌کند که کدام تابع باید در زمانی که تفسیرگر داده‌ای در فایل XML پیدا کند، فراخوانی شود.

اگر پردازنده با موفقیت ایجاد شود، این تابع درخواست true را بازمی‌گرداند؛ در غیر این صورت false را بازمی‌گرداند.

قانون‌گذاری

xml_set_default_handler(parser,handler)
پارامتر شرح
parser ضروری. تفسیرگر XML که باید استفاده شود را مشخص می‌کند.
handler ضروری. فuctionی که به عنوان پردازنده برای رویداد استفاده می‌شود را مشخص می‌کند.

از handler فункциونی که پارامتر مشخص می‌کند باید سه پارامتر داشته باشد:

پارامتر شرح
parser ضروری. متغیری که شامل تفسیرگر XML برای فراخوانی پردازنده را مشخص می‌کند.
data ضروری. متغیری که شامل داده‌ها را مشخص می‌کند.

توضیحات

handler پارامتر همچنین می‌تواند یک آرایه باشد که شامل مراجعه به شیء و نام متد است.

Example

XML File:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

PHP Code:

<?php
$parser=xml_parser_create();
function default($parser,$data)
  {
  echo $data;
  }
xml_set_default_handler($parser,"default");
$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:

George John Reminder Don't forget the meeting!

If you view the source code in the browser, you will see the following HTML:

<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>