آموزش PHP

آموزش PHP - آموزش XML

XML یک زبان نشانه گذاری است که بسیار شبیه HTML می باشد. یک سند XML متن ساده بوده و حاوی تگ هایی است که توسط < and > تعریف شده، دو تفاوت بزرگ میان XML و HTML وجود دارد. 

  •  XML مجموعه ای خاص از تگ هایی که شما باید استفاده کنید را تعریف نمی کند.
  •  XML در مورد ساختار سند بسیار مشخص است. 

XML به شما آزادی بیشتری نسبت به HTML می دهد. HTML دارای مجموعه خاصی از تگ ها است: تگ های لینک را احاطه می کنند،

برای شروع پاراگراف استفاده می شود و غیره. با این حال یک سند XML می تواند از هر تگی که می خواهید استفاده کند. تگ < rating/> را در اطراف یک رتبه بندی فیلم و < /height> را در اطراف ارتفاعی که می خواهید قرار دهید. به این ترتیب XML به شما امکان ساختن تگ های خودتان را می دهد. 

XML برای ساختن سند بسیار دشوار است. HTML به شما اجازۀ استفاده سریع را با وجود برخی از تگ های باز و بسته می دهد. اما این موارد XML صدق نمی کند.

 لیست HTML که در XML معتبر نیستند

<ul>
   <li>Braised Sea Cucumber
   <li>Baked Giblets with Salt
   <li>Abalone with Marrow and Duck Feet
</ul>

این یک سند معتبر XML نیست زیرا هیچ تگی برای بستن تگ

  •  وجود ندارد. در XML باید به ازای هر تگ باز
  • یک تگ بستن
  • نیز وجود داشته باشد. در نتیجه هر تگ باز در یک سند XML باید بسته شود. 

 

لیست HTML که در XML معتبر است

<ul>
   <li>Braised Sea Cucumber</li>
   <li>Baked Giblets with Salt</li>
   <li>Abalone with Marrow and Duck Feet</li>
</ul>

تجزیه یک سند XML

ماژول SimpleXML جدید PHP 5 تجزیه یک سند XML را به صورت ساده و خوب ارائه می دهد. اینکار به گونه ای است که سند XML را به یک شی تبدیل کرده و دسترسی ساختار یافته به XML را فراهم می آورد.

 برای ایجاد شی SimpleXML از یک سند XML ذخیره شده در یک رشته، رشته را به ()simplexml_load_string منتقل کنید. این کار یک شی SimpleXML را باز می گرداند. 

مثال

مثال زیر را امتحان کنید:

<html>
   <body>
      
      <?php
         $note=<<<XML
         
         <note>
            <to>Gopal K Verma</to>
            <from>Sairamkrishna</from>
            <heading>Project submission</heading>
            <body>Please see clearly </body>
         </note>
         
         XML;
         $xml=simplexml_load_string($note);
         print_r($xml);
      ?>
		
   </body>
</html>

نتایج زیر را تولید می کند:

php xml

نکته: اگر شما محتوای XML را در یک فایل داشته باشید می توانید از تابع simplexml_load_file( filename) استفاده کنید. برای جزئیات تابع تجزیه یا parsing  XML، مرجع تابع PHP را بررسی کنید. 

ایجاد سند XML

SimpleXML برای تجزیه و تحلیل اسناد XML موجود مناسب است، اما نمی توانید از آن برای ایجاد سند جدید در ابتدا  استفاده کنید.

 ساده ترین راه برای تولید یک سند XML، ساخت یک آرایه PHP است که ساختار آن از سند XML و سپس تکرار از طریق آرایه و چاپ هر عنصر با قالب بندی مناسب می باشد. 

مثال

مثال زیر را امتحان کنید:

<?php
   $channel = array('title' => "What's For Dinner",
      'link' => 'http://menu.example.com/',
      'description' => 'Choose what to eat tonight.');
   
   print "<channel>n";
   
   foreach ($channel as $element => $content) {
      print " <$element>";
      print htmlentities($content);
      print "</$element>n";
   }
   
   print "</channel>";
?>

نتایج زیر را تولید می کند:

http://menu.example.com/ Choose what to eat tonight.
در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش PHP

Learn PHP

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...