25- PHP متقدم – شرح دوال XML لمعالجة البيانات – PHP XML Parser Functions

شرح دوال XML لمعالجة البيانات – PHP XML Parser Functions

===========================

توفر PHP دوال XML لمعالجة البيانات بصيغة XML باستخدام محلل XML داخلي.

xml_parser_create()
———————
ينشئ كائن [شركة برمجة مصرية] محلل XML جديد.


<?php
$parser = xml_parser_create();
?>

xml_set_element_handler()
—————————
يضبط دوال المعالجة لبدء وانتهاء العناصر.


<?php
function start($parser, $name, $attrs) {
  echo "بدأ العنصر: $name<br>";
}
function end($parser, $name) {
  echo "انتهى العنصر: $name<br>";
}
$parser = xml_parser_create();
xml_set_element_handler($parser, "start", "end");
?>

xml_set_character_data_handler()
———————————-
يضبط دالة التعامل مع البيانات النصية بين الوسوم.


<?php
function char($parser, $data) {
  echo "نص: $data<br>";
}
xml_set_character_data_handler($parser, "char");
?>

xml_parse()
————-
يُحلل سلسلة XML باستخدام المحلل.


<?php
$data = "<note><to>Ahmed</to></note>";
xml_parse($parser, $data, true);
?>

xml_parser_free()
——————-
يُحرر الموارد المرتبطة بالمحلل.


<?php
xml_parser_free($parser);
?>

xml_error_string()
——————–
ترجع وصف نصي لرمز خطأ.


<?php
echo xml_error_string(XML_ERROR_SYNTAX);
?>

xml_get_current_line_number()
——————————-
ترجع رقم السطر الحالي أثناء التحليل.


<?php
echo xml_get_current_line_number($parser);
?>

xml_get_current_column_number()
——————————–
ترجع رقم العمود الحالي.


<?php
echo xml_get_current_column_number($parser);
?>

xml_get_error_code()
———————-
ترجع آخر رمز خطأ من المحلل.


<?php
echo xml_get_error_code($parser);
?>

xml_set_default_handler()
—————————
يضبط دالة المعالجة الافتراضية للعناصر غير [شركة برمجة مصرية] المعروفة.


<?php
function defaultHandler($parser, $data) {
  echo "افتراضي: $data<br>";
}
xml_set_default_handler($parser, "defaultHandler");
?>