تعداد بازدید: 153

کار با XML در PHP

XML مخفف (eXtensible Markup Language – زبان نشانه گذاری توسعه پذیر) طراحی شده برای ذخیره و انتقال اطلاعات می باشد. XML در ساخت فایل های پیکره بندی (phpunit.xml) و بسیاری از تکنولوژی های وب نظیر RSS , Atom , … استفاده دارد.

  • HTML برای نمایش اطلاعات می باشد. تنها برای ماشین ها قابل خواندن است. tag ها در HTML از پیش تعریف شده اند.
  • XML برای انتقال اطلاعات می باشد. برای ماشین ها و انسان قابل خواندن است. tag ها در XML از پیش تعیین شده نیستند و ما تعریف می کنیم(self-descriptive).

XML Syntax

XML بسیار شبیه به HTML است فقط یک سری قوانین خاص دارد.

  • مستقل از سخت افزار و نرم افزار می باشد برای توصیف و انتقال اطلاعات و قابل استفاده در بسیاری از زبان های برنامه نویسی مثلا PHP , JAVA , C.
  • خط اول اطلاعاتی در رابطه با سند xml ارائه می کند(XML Prolog).
  • xml دارای دو ورژن 1 و 1.1 می باشد. که ورژن 1 معمول تر است.
  • در xml تگ ها را شما تعیین می کنید. ساختار Nested در آن صدق می کند. یک تگ ریشه دارید (تگ ریشه اجباری است) و سایر تگ ها در آن قرار می گیرد.
  • اگر encoding را مناسب انتخاب کرده باشید می توانید اطلاعات فارسی هم داشته باشید. تگ ها به حروف کوچک و بزرگ حساس می باشند(Case Sensitive).
  • تگ های xml می توانند attribute بگیرند.
  • تگ ها یا تک بخشی هستند یا دو بخشی که تگ های تک بخشی باید با /> تمام شوند.
  • عناصر تهی باید تک بخشی ایجاد گردند (Empty XML Elements) یعنی <el></el> اشتباه است و باید به صورت <el/> تعیین گردد.
  • چهار کاراکتر < > & ' " در مقدار تگ ها غیر مجاز و باید از معادل Entity References آنها استفاده شود.
  • کامنت ها در xml مثل html می باشد مثلا <!-- This is a comment --> .
  • فصای خالی (White-space) در xml بر خلاف html به تعداد محاسبه می گردد.
  • شروع نام عناصر (XML Elements) یا همان تگ ها باید با حروف بزرگ و کوچک و یا _ می باشد.

XML Namespace

در اسناد XML نام عناصر توسط developer تعیین می شود . برای جلوگیری از conflict می توان از name space استفاده کرد.

نمایش اطلاعات xml در مرورگر های مختلف متفاوت می باشند. مرورگر های مدرن همه دارای یک شئ پیش فرض جاوا اسکریپتی با نام XMLHttpRequest می باشند که بوسیله آن به سرور درخواست ارسال می کنند.

کاربرد های XML

برخی سرویس ها مانند RSS , Atom همان XML هستند به علاوه یک سری قوانین بیشتر .همچنین ما می توانیم اطلاعات پایگاه داده را در آن ذخیره کنیم.

فایل بالا را می توان در یک جدول پایگاه داده msql درون ریزی کرد.

PHP Dom Extension

زبان php یک DOM Parser به نام Dom می باشد که بوسیله آن می توان اسناد xml را پردازش کرد. همان طور که می دانید DOM (Document Object Model) یک استاندارد دسترسی به Element ها می باشد که در HTML و XML کاربرد دارد.

این افزونه پر کاربرد قابلیت تغییر و ذخیره (در همان فایل یا فایل مجزا) اسناد HTML و XML را دارد و به وسیله آن می توان درخواست های GET ساده نیز فرستاد. کافی است سند را لود کنید.

متد های کار با این افزونه به سه دسته زیر تقسیم بندی می شوند :

  • متد های load و loadHTML و loadXML برای بارگزاری اسناد XML , HTML
  • متد save برای ذخیره سند و متدهای saveXML و saveXML نمایش عنصر با فرمت های XML یا HTML .
  • متد هایی برای دستیابی و تغییر اسناد .

به طور مثال یک سند XML داریم و می خواهیم تغییراتی را در آن اعمال و ذخیره کنیم:

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

DOMDocument::getElementsByTagName : زمانی که از این تابع استفاده می کنید به شما یک شئ از DOMNodeList می دهد که تمامی node هایی که از این تگ استفاده کرده اند در آن می باشد.

DOMElement::getAttribute : برای گرفتن یک attribute از یک DOMElement .

DOMDocument::createElement : برای ساخت یک DOMNode .

DOMDocument::createAttribute: برای ساخت یک attribute . در نهایت می توان آن را به یک DOMNode اضافه کرد.

DOMNode::appendChild : برای اضافه کردن عنصر یا attribute به یک DOMNode دیگر.

هر یک از این متد ها بر روی اشیا مربوطه اجرا می گردد :

  • DOMDocument : شئ که از روی کلاس DomDocument ساخته شده باشد (اولین شئ).
  • DOMNodeList : شئ که از getElementBy* بدست آمده باشد.
  • DOMNode : آیتم n ام یک DOMNodeList که در بالا گفتیم.
  • DOMElement : یک عنصر خاص که پس از گشتن در DOMNodeList بدست آمده باشد. این کلاس از DOMNode گرفته شده است.

در مثال زیر می توانید هر یک از این موارد را مشاهده کنید در این مثال یک فایل xml اطلاعات تماس وجود دارد :

در افزونه DomDocument می توان یک فایل را خواند یا یک رشته Dom که در یک متغیر ذخیره شده و هم به صورت یک درخواست به یک سروری که خروجی XML یا HTML می دهد.

 

مطالب مشابه

composer یک ابزار رابط خط فرمان (command line interface) برای مدیریت و نصب پروژه های PHP می باشد. بوسیله آن می توان روی پروژه خود پکیج هایی (پروژه ها یا کتابخانه ها) را نصب کنید یا بالعکس پروژه خود را قابل نصب بر روی پروژه های دیگر کنید.

Composer (قسمت اول)

composer یک ابزار رابط خط فرمان (command line interface) برای مدیریت و نصب پروژه های PHP می باشد. بوسیله آن می توان روی...

strings-function in php

رشته ها در PHP

توابع مربوط به رشته ها در php کاربردهای زیادی دارند از جمله ساخت رشته های رمزنگاری شده و همچنین ساخت خلاصه متن و تبدیل...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای کار با XML در PHP

دیدگاهتان را بنویسید

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