آموزش کار با مفسر Parser SimpleXML در زبان PHP :
مفسر زبان XML با نام SimpleXML یک افزونه زبان PHP است که به ما امکان ویرایش و خواندن اطلاعات فایل های XML را می دهد.
مفسر SmpleXML یک مفسر درختی XML یا tree-based Parser است.
مفسر زبان XML نوع SimpleXML، یک راه ساده برای دریافت مقدار نام (name)، خواص (attribute) و محتوی متنی هر عنصر (element) در یک سند XML را به شرط دانستن ساختار یا قالب آن فایل، فراهم می کند.
مفسر SimpleXML یک سند XML را به ساختار داده ای ویژه ای تبدیل کرده که می توانید با آن همانند یک مجموعه از آرایه ها و اشیاء رفتار کنید.
در مقایسه با روش DOM یا مفسر Excapt Parser، مفسر SimpleXML، برای خواندن یک عنصر (element) در فایل های XML، به حجم کدنویسی کمتری نیاز دارد.
نحوه نصب مفسر SimpleXML در PHP:
از نسخه PHP به بعد، توابع مربوط به مفسر SimpleXML بخشی از هسته اصلی زبان PHP شده و برای استفاده از این قابلیت و تابع های آن نیاز به نصب برنامه جداگانه ای ندارید.
آموزش خواندن XML از متن String در PHP :
از تابع Simplexml_load_string() برای خواندن اطلاعات XML از یک متغیر متنی String استفاده می شود.
فرض کنید که یک متغیر متنی string که حاوی اطلاعات XML به شرح زیر است را داریم :
$myXMLData = "<?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>";
در کد مثال عملی زیر، نحوه خواندن اطلاعات XML از یک متغیر متنی String با استفاده از تابع simplexml_load_string() را آموزش داده ایم :
<?php $myXMLData = "<?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>"; $xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object"); print_r($xml); ?>
خروجی کد مثال عملی فوق به صورت زیر خواهد بود :
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )
از توابع مربوط به شی libxml برای دریافت و ذخیره کلیه خطاهای رخ داده در هنگام خواندن سند XML استفاده نمایید. در کد مثال عملی زیر، سعی کرده ایم تا یک فایل ناقص XML را خوانده و سپس خطاهای رخ داده را نمایش داده ایم.
راهنمایی :
دردرس بعدی به آموزش نحوه دریافت یا خواندن مقادیر گره ها (node values) در یک فایل XML یا SimpleXML خواهیم پرداخت.