آموزش مفسر SimpleXML در PHP

  • آپدیت شده در تاریخ

آموزش مفسر SimpleXML در PHP

در آموزش قبلی, به شما انواع مفسرهای XML در PHP را معرفی کردیم و در این مقاله قصد آموزش مفسر SimpleXML در PHP را داریم.

مفسر زبان XML با نام SimpleXML یک افزونه زبان PHP است که به ما امکان ویرایش و خواندن اطلاعات فایل های XML را می دهد.

مفسر زبان XML نوع SimpleXML، یک راه ساده برای دریافت مقدار نام (name)، خواص (attribute) و محتوی متنی هر عنصر (element) در یک سند XML را به شرط دانستن ساختار یا قالب آن فایل، فراهم می کند.

مفسر SimpleXML یک سند XML را به ساختار داده ای ویژه ای تبدیل کرده که می توانید با آن همانند یک مجموعه از آرایه ها و اشیاء رفتار کنید.

در مقایسه با روش DOM یا مفسر Excapt Parser، مفسر SimpleXML، برای خواندن یک عنصر (element) در فایل های XML، به حجم کدنویسی کمتری نیاز دارد.

ویژگی های مفسر SimpleXML

  • نیاز به پلاگین libxml دارد
  • یک ابزار ساده و آسان برای تجزیه XML است
  • به PHP 5 به بالا نیاز دارد
  • مفسر درختی (tree-based) است
  • قابلیت تجزیه فایل های XML که با فرمت DOM تفسیر شده اند را دارد.

جدا از تمام موارد بالا,  مفسر SimpleXML در PHP قابلیت کار با هر دو استایل رویه ای (procedural) و شی گرایی (object-oriented) برای parse کردن داکیومنت های XML را دارد.

آموزش مفسر SimpleXML در PHP

توابع SimpleXML

Simplexml_load_file()

  • سینتکس:
  • این تابع مسیر فایل XML را به عنوان پارامتر اول دریافت می کند.
  • به طور پیشفرض XML را به آبجکت SimpleXMLElement تبدیل می کند.درغیر اینصورت, می توانیم از کلاس سفارشی (پارامتر $class) که SimpleXMLElement را ارث بری کرده است استفاده کنیم.
  • می توانیم پارامتر های اضافی libxml را توسط $options ست کنیم
  • $ns برای مشخص کردن پیشوند(prefix) فضای نام (namespace) است. اگر ست شود پس مقدار $is_prefix را TRUE قرار می دهیم.

 

Simple_load_string()

  • سینتکس:

تنها تفاوت این تابع از مورد بالا به جای دریافت فایل, داده رشته ای را دریافت می کند. بقیه پارامتر ها مشابه simplexml_load_file() است.

 

Simple_import_dom()

  • سینتکس:

این تابع محتوای XML با فرمت DOM را به عنوان آرگومان دریافت و به طور پیش فرض آن را به آبجکت SimpleXMLElement تبدیل می کند.

 

کلاس های SimpleXML

پلاگین مفسر SimpleXML شامل کلاس های زیر است,

  1. SimpleXMLElement
  2. SimpleXMLIterator

هر دو کلاس های بالا شامل ویژگی هایی برای دسترسی به گره (node) های XML در حین parse کردن است.برای مثال, می توانیم

  • فرزند گره های ریشه مشخص را دریافت کنیم
  • یک فرزند (child) جدید اضافه کنیم
  • نام المنت مشخصی را دریافت کنیم
  • المنت فعلی/بعدی را حین parse کردن دریافت کنیم

SimpleXMLIterator کلاس SimpleXMLElement را برای پیاده سازی یک RecursiveIterator برای انجام عملیات بازگشتی parse کردن روی گره های XML به ارث (inherit) می برد.

 

مثال مفسر SimpleXML در PHP

حالا, زمان آزمایش توابع SimpleXML بالا برای تجزیه و خواندن فایل XML است.

در ابتدا, نیاز است که یک فایل XML بسازیم. (ساخت و ذخیره XML توسط PHP)

می توانیم به طور مستفیم آن را توسط simplexml_load_string() لود کنیم. همچنین می توانیم به عنوان فایل toys.xml ذخیره و به تابع simplexml_load_file() پاس بدیم.

به عنوان نتیحه, آبجکت SimpleXMLElement بصورت زیر بازگشت (return) داده خواهد شد.

افزودن المنت فرزند با استفاده از مفسر SimpleXML

برای افزودن یک فزرند به یک گره (node) در فایل XML , می توانیم از متد addChild() در کلاس SimpleXMLElement بهره ببریم.

امیدوارم از آموزش مفسر SimpleXML در PHP نهایت استفاده را برده باشید .

برای دانلود سورس کد کامل این آموزش از باکس دانلود استفاده کنید.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دوره های آموزشی