سورس برنامه نویسی ، آموزش ، قالب وردپرس ، اسکریپت ، گرافیک ، آموزش کاربردی، دانلود رایگان ، قالب

تبليغات شما در داده باران
تبلیغات در داده باران

آموزش PHP (پی اچ پی) – قسمت چهل و پنجم

آموزش PHP (پی اچ پی) – قسمت چهل و پنجمReviewed by داده باران on Apr 5Rating:

داده باران | سورس برنامه نویسی ، آموزش

(جهت دانلود و اطلاعات بیشتر به ادامه مطلب مراجعه نمائید)


آموزش PHP-معرفی DOM

تجزیه کننده DOM چیست؟

یک سری اشیاء استاندارد برای دسترسی و دستگاری فایل های HTML و XML فراهم می کند و در سه بخش زیر مجزا شده است:

هسته DOM: یک سری اشیاء استاندارد برای فایل های ساخت یافته تعریف می کند.

XML DOM: یک سری اشیاء استاندارد برای فایل های XML تعریف می کند.

HTML DOM: یک سری اشیاء استاندارد برای فایل های HTML تعریف می کند.

تجزیه کننده XML

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

به صورت کلی دو نوع تجزیه کننده XML وجود دارد:

تجزیه کننده درختی: این تجزیه کننده فایل XML را به یک ساختار درختی منتقل می کند و تمام فایل را تحلیل کرده و دسترسی به عناصر درخت را فراهم می کند.

تجزیه کننده رویدادی: یک فایل XML را به صورت یک سری از رویدادها می بیند و زمانی که یک رویداد خاص اتفاق می افتد، یک تابع را برای بررسی آن صدا می زند.

تجزیه کننده DOM از نوع درختی است.

به فایل XML زیر توجه کنید:

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<from>Mohammad</from>

 

تجزیه کننده DOM فایل XML بالا را به صورت زیر می بیند(سه سطح):

سطح اول درخت: یک فایل XML را مشخص می کند.
سطح دوم درخت: ریشه عنصر را مشخص می کند که تگ <from> است.
سطح سوم درخت: متن عنصر که کلمه “Mohammad” است.

حتما بخوانید  ارسال ایمیل به کاربر هنگام تغییر مشخصات کاربری در وردپرس

نصب تجزیه کننده XML

توابع تجزیه کننده DOM قسمتی از هسته PHP هستند و نیازی به نصب وجود ندارد.

فایل XML زیر در مثال های آینده استفاده خواهد شد:

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>

 

لود و چاپ یک فایل XML

مثال: در مثال زیر می خواهیم یک تجزیه کننده XML تعریف کرده و فایل XML بالا را داخل آن لود کنیم و سپس در خروجی چاپ کنیم:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load(“note.xml”);
print $xmlDoc->saveXML();
?>

 

خروجی کد بالا:

ToveJaniReminderDon’t forget me this weekend!

 

اگر در Browser ویندوزتان گزینه “View source” را انتخاب کنید، فایل HTML زیر را خواهید دید:

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>

 

مثال بالا یک شی از DOMDocument ایجاد می کند و فایل “note.xml” را داخل آن لود می کند.

سپس تابع ()saveXML فایل XML لود شده را داخل یک رشته قرار می دهد، حالا می توانیم آنرا در خروجی چاپ کنیم.

حلقه زدن در یک فایل XML

مثال: در مثال زیر می خواهیم یک تجزیه کننده XML تعریف کنیم و فایل XML قبلی را در آن لود کرده و بین عناصر آن یک حلقه بزینم:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load(“note.xml”);

$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
{
print $item->nodeName . ” = ” . $item->nodeValue . “<br />”;
}
?>

 

خروجی کد بالا:

#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don’t forget me this weekend!
#text =

 

در مثال بالا می بینید که بین هر عنصر یک نود خالی وجود دارد.

حتما بخوانید  ۱۵ تکنیک مهم در بهبود سئو وردپرس - قسمت آخر

در زمان ایجاد یک فایل XML، در بین نودهای آن فضاهای خالی قرار می گیرد، تجزیه کننده XML با این فضاهای خالی مانند یک عنصر معمولی برخورد می کند و اگر مراقب آنها نباشید، برای شما مشکل ایجاد خواهند کرد.

لينك كوتاه اين مطلب : http://www.dadebaran.ir/?p=2705

رمز فايل : DADEBARAN.IR




تبلیغات در داده باران
ارسال دیدگاه

قبل از نوشتن دیدگاه به نکات زیر توجه کنید:
    » نظراتی که با تایپ فارسی نباشند تایید نخواهند شد
    » نظرات تبلیغاتی اسپم محسوب میشوند و IP شخص مسدود خواهد شد.

۲ دیدگاه

  • پيمان صدري می‌گه:

    سلام
    داداش شناختی پیمان صدری ام
    خواستم بگم اگه تو مدیریت و ارسال پست کم اوردی دریغ نکن بگو تا کمکت کنیم ناسلامتی رفیق هستیم
    اگه خواستی بگو تا هراز گاهی یه ویدئو آموزشی بسازم در مورد فتوشاپ البته اگه خواستی
    راستی من میکروفون ندارم و آموزش هام بدون صداست
    ببخشید

    • سلام پیمان جان ، داداش دستت درد نکنه ، من کم نمییارم فقط سرم شلوغه
      چندین هفته رو رایابلاگ کار کردم وقتم هدر شد.
      چند روز هم روز پوسته جدید آستانت کار کردم تا بالاخره نتیجه داد.
      بعد الانم که دارم فروشگاه خرید کالا رو بزرگترین فروشگاه میکنم که واسه همین دیر به دیر آپدیت میکنم
      ببخشید. راستی اگه تونستی با ایمیل من تماس بگیر کارت دارم.

      سپاس

پاسخ دهید

نکته: نظر شما در انتظار بررسی است و پس از تایید مدیریت در سایت نمایش داده میشود..