تابع xml_parse  خط به خط محتویات سند xml را تجزیه و تحلیل می کند 
 خروجی این تابع در صورتی true خواهد بود که کار خود را به درستی و با موفقیت انجام  دهد . در صورتیکه در فرایند تجزیه و تحلیل کردن محتویات فایل xml ، مشکلی پیش اید انگاه خروجی این تابع false خواهد بود
 
 روش استفاده :

 

xml_parse(parser,xml,end)
 
 اشنایی با پارامترها :
  •  parser
 مشخص کردن مقدار برای این پارامتر اجباری است . نام متغیری از نوع پارسر xml را باید به جای ان نوشت
  •  xml
 مشخص کردن مقدار برای این پارامتر اجباری است . داده xml ای که می خواهیم تجزیه و تحلیل شود به جای این پارامتر باید بنویسیم 
  •  end
 مشخص کردن مقدار برای این پارامتر اختیاری است . در صورتیکه مقدار این پارامتر true باشد ، داده ای که در پارامتر xml قرار گرفته ، اخرین قطعه داده ای است که برای پارسر ارسال می شود
 
  •  نکته :

گزارش خطاهای روی داده شده در فرایند عمل پارسینگ تنها در انتهای کار پارسر ممکن است و این هم فقط زمانی اتفاق می افتد که مقدار پارامتر end برابر true باشد

 
  •  نکته :
 برای ایجاد کردن متغیری از نوع پارسر یا به عبارتی برای ایجاد کردن پارسر xml از تابع xml_parser_create استفاده کنید
 
 مثال 1 :
 فرض کنید فایل xml بصورت زیر موجود است :

 

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

 
 فرض کنید دستورات فایل php ، بصورت زیر وجود دارد :

 

<?php
$parser=xml_parser_create();

function char($parser,$data)
  {
  echo $data;
  }

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 Error: %s at line %d",
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }

xml_parser_free($parser);
?>

 
 خروجی برنامه بالا بصورت زیر است :

 

Tove Jani Reminder Don't forget me this weekend!
 
 مثال 2:
 با استفاده از فایل xml مثال قبل ، به روش دیگری می خواهیم داد ه xml را نشان دهیم

 

<?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 "From: ";
    break;
    case "HEADING":
    echo "Heading: ";
    break;
    case "BODY":
    echo "Message: ";
    }
  }

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 Error: %s at line %d",
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }

xml_parser_free($parser);
?>

 
 خروجی برنامه بالا بصورت زیر است :

 

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!