
توی دوره رایگان PHP، هر چیزی که برای حرفهای شدن نیاز داری رو یاد میگیری! از مفاهیم پایه تا پیشرفته، همراه با یه پروژه واقعی برای ساخت یه سایت مثل آپارات.
مشاهده بیشتر
توی این دوره با هم یه وبسایت خبری واقعی رو از صفر میسازیم! از طراحی دیتابیس و احراز هویت تا ساخت API و یه پنل مدیریت حرفهای، همه رو یاد میگیریم و آماده پروژههای واقعی میشی!
مشاهده بیشترمشخصات مقاله
آموزش کار با مفسر SimpleXML در PHP
آموزش کار با مفسر 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 به شرح زیر است را داریم :
1 2 3 4 5 6 7 8 9 | $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 >"; < button ></ button > |
در کد مثال عملی زیر، نحوه خواندن اطلاعات XML از یک متغیر متنی String با استفاده از تابع simplexml_load_string() را آموزش داده ایم :
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?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 ); ?> <button></button> |
خروجی کد مثال عملی فوق به صورت زیر خواهد بود :
1 2 | SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! ) <button></button> |
از توابع مربوط به شی libxml برای دریافت و ذخیره کلیه خطاهای رخ داده در هنگام خواندن سند XML استفاده نمایید. در کد مثال عملی زیر، سعی کرده ایم تا یک فایل ناقص XML را خوانده و سپس خطاهای رخ داده را نمایش داده ایم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php libxml_use_internal_errors(true); $myXMLData = "<?xml version= '1.0' encoding= 'UTF-8' ?> <document> <user>John Doe</wronguser> <email>john@example.com</wrongemail> </document>"; $xml = simplexml_load_string( $myXMLData ); if ( $xml === false) { echo "Failed loading XML: " ; foreach (libxml_get_errors() as $error ) { echo "<br>" , $error ->message; } } else { print_r( $xml ); } ?> <button></button> |
خروجی کد مثال فوق به صورت زیر خواهد بود :
1 2 3 4 | Failed loading XML: Opening and ending tag mismatch: user line 3 and wronguser Opening and ending tag mismatch: email line 4 and wrongemail <button></button> |
آموزش خواندن از فایل XML با مفسر PHP SimpleXML :
از تابع simplexml_load_file() در PHP برای خواندن اطلاعات از یک فایل XML استفاده می شود. فرض کنید که یک فایل XML به نام note.xml داریم که محتوی آن به صورت زیر است :
1 2 3 4 5 6 7 8 | <? 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 > < button ></ button > |
در کد مثال عملی زیر، نحوه خواندن فایل XML به وسیله تابع simple_load_file() را آموزش داده ایم :
1 2 3 4 5 | <?php $xml =simplexml_load_file( "note.xml" ) or die ( "Error: Cannot create object" ); print_r( $xml ); ?> <button></button> |
خروجی کد مثال فوق به صورت زیر خواهد بود :
1 2 | SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! ) <button></button> |
دردرس بعدی به آموزش نحوه دریافت یا خواندن مقادیر گره ها (node values) در یک فایل XML یا SimpleXML خواهیم پرداخت.
مثال هایی بیشتر درباره مفسر SimpleXML :
برای دریافت اطلاعات بیشتر درباره مفسر SimpleXML به بخش مرجع آموزش SimpleXML XML در سایت تحلیل داده بروید.