توابع PHP xml_set_element_handler()

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

توابع xml_set_element_handler() پردازنده‌های شروع و پایان عنصر را ایجاد می‌کند.

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

نحوه استفاده

xml_set_element_handler(parser,start,end)
پارامترها توضیحات
parser ضروری. یک XML parser برای استفاده تعریف می‌کند.
start ضروری. یک تابع تعریف می‌کند که در شروع عنصر فراخوانی می‌شود.
end ضروری. یک تابع تعریف می‌کند که در پایان عنصر فراخوانی می‌شود.

از start پارامتر تعیین شده باید دارای سه پارامتر باشد:

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

از end پارامتر تعیین شده باید دارای سه پارامتر باشد:

پارامترها توضیحات
parser ضروری. یک متغیر تعریف می‌کند که شامل XML parser برای فراخوانی پردازنده است.
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 "از: ";
    break; 
    case "HEADING":
    echo "عنوان: ";
    break; 
    case "BODY":
    echo "پیام: ";
    }
  }
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: %s در خط %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>

خروجی:

-- یادداشت --
به: جرج
از: جان
عنوان: یادآوری
پیام: نگذارید جلسه را فراموش کنید!