خواندن XML در PHP می تواند به منظور دریافت اطلاعات RSS Feed سایت ها یا اطلاعات دقیق و لحظه ای از سایت های مرجع ارز , خبری , آب و هوا و غیره انجام شود که مشابه آن را برای خواندن فید rss در php دیدیم.
در زبان PHP , تجزیه و خواندن فایل های XML می تواند توسط اکستنشن های مختلفی که در دسترس است, انجام شود. با استفاده از این extenstion ها می توانیم دسترسی, ویرایش, اعتبارسنجی و خیلی از کارهای مختلف دیگر را روی داکیومنت های XML انجام بدیم.
تکنیک تجزیه (parsing
) با استفاده از سه نوع درختی (tree-based) , جریانی (stream-based) و رویدادی قابل انجام است.
در این مقاله آموزش PHP , قصد داریم به معرفی این پلاگین ها در php بپردازیم.
Extension های خواندن XML در PHP
لیست زیر به شما لیست پلاگین های در دسترس برای parse کردن XML در هسته PHP را نشان می دهد. همه این اکستنش ها نیاز به کتابخانه libxml
دارند که بطور پیشفرض در هسته php وجود دارد و در فایل php.ini فعال است.
- SimpleXML Parser
- DOM Parser
- XMLParser
- XMLReader
SimpleXML Parser
- این مفسر بر اساس نمونه درختی است.
- همانطور که از نام آن مشخص است, برای تجزیه فایل های ساده XML استفاده می شود (زیاد حجیم نیستند و ساختار پیچیده ای ندارند).
- فایل های XML را تبدیل و یک آبجکت متناظر
SimpleXMLElement
را برگشت می دهد. - می توانیم فایل های XML را به عنوان رشته متنی فراخوانی و به تابع SimpleXML پاس بدیم. برای مثال, تابع
simplexml_load_file()
آدرس فایل XML و تابعsimple_load_string()
رشته را دریافت می کند.
DOM Parser
- پلاگین DOM parser در PHP برای مدیریت فایل بسیار پیچیده XML استفاده می شود.
- به عنوان یک رابط برای دسترسی و تغییر در داکیومنت XML استفاده می شود.
- همانند SimpleXML یک parser درختی است.
- از PHP 5 , از ورژن قدیمی DOM با
domxml
ارتقا یافته است. - پلاگین DOM parser از اینکد کاراکتری UTF-8 بهره می برد.
نکته :
هر دو مفسر های SimpleXML و DOM متقابل هستند. به این معنا که تابع DOM ,آبجکت آرایه ای SimpleXML را به فرمت DOM تبدیل می کند. مشابه آن, تابع SimpleXML
داکیومنت XML در فرمت DOM را پذیرفته و به یک آبجکت آرایه ای تبدیل می کند.
XML Parser
- یک مفسر (parser) بر اساس رویداد (event-based) بصورت SAX (Simple API for XML – یک الگوریتم برای parse کردن فایل XML) است.
- از دو مورد معرفی شده بالا سریعتر است چرا که کل داکیومنت XML را یکجا در مموری لود نمی کند.
- از سه فرمت اینکود کاراکتر ISO-8859 , US-ASCII و UTF-8 پشتیبانی می کند.
- در حین استفاده از این پلاگین, نیاز است یک نمونه XMLParser برای دسترسی به توابع زیرمجموعه ایجاد کنیم.
- این parser می تواند با XML هایی که با namespace مشخص شده است, کار کند.
XML Reader
یک مفسر بر اساس جریان (stream-based) است و داده ها را از فایل XML داده شده دریافت می کند (اصطلاح pull یا همان بیرون کشیدن داده ها)
بهترین انتخاب برای خواندن XML در PHP استفاده از این اکستنشن است, زیرا
- سریع است
- با داکیومنت های بسیار پیچیده XML کار می کند
- از اعتبارسنجی XML پشتیبانی می کند.
برای استفاده از این پلاگین به PHP ورژن ۵٫۱ به بالا نیاز داریم.
امیدوارم از آموزش خواندن XML در PHP نهایت استفاده را برده باشید .
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید