با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن و کاربرانی که دوره ی آموزش php 7 را دنبال می کنند.
در جلسه گذشته به ارائه آموزش کار با تجزیه کننده Expat پرداختیم. در ادامه این دوره آموزش کار با تجزیه کننده DOM در php 7 را به علاقمندان این دوره ارائه می نماییم.
در جلسه نخستین فصل XML آموختیم که چندین تکنولوژی وب مانند RSS Feeds و Podcasts در XML نوشته شده اند.
نحوه ایجاد XML ساده و آسان است.
زبان XML راهی برای ساختن داده ها و به اشتراک گذاری آن ها در وب سایت ها است.
در جلسه چهل و ششم نیز آموختیم که SimpleXML یک تجزیه کننده درختی است.
SimpleXML یک سند XML را به یک ساختار داده تبدیل می کند که می تواند از طریق مجموعه ای از آرایه ها و اشیاء تکرار شود.
جلسه چهل و هفتم آموزش کار با تجزیه کننده SimpleXML در php 7 ارائه شد.
جلسه ۴۸ نیز آموختیم که چگونه می توان مقدار گره را به کمک SimpleXML به دست آورد.
جلسه پیش نیز به صورت مفصل با تجزیه کننده Expat آشنا شدیم.
تجزیه کننده built-in DOM به شما اماکن پردازش کل یک سند XML را در php دارد.
تجزیه کننده DOM یک تجزیه کننده درختی است.
به سند XML زیر نگاه کنید:
1 2 | <?xml version="1.0" encoding="UTF-8"?> <from>Jani</from> |
یک تجزیه کننده DOM یک سند XML را به عنوان سه ساختار گزارش می کند:
توابع تجزیه کننده DOM بخشی از هسته php هستند.
برای استفاده از این توابع دیگر نیازی به نصب آن وجود ندارد.
فایل XML زیر (note.xml) در مثال ما استفاده می شود:
1 2 3 4 5 6 7 | <?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 را نصب کرده؛ XML را بارگیری نموده و سپس خروجی را تولید می نماییم:
1 2 3 4 5 6 | <?php $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); print $xmlDoc->saveXML(); ?> |
خروجی کد بالا:
1 | Tove Jani Reminder Don't forget me this weekend! |
اگر گزینه «View source» را در پنجره مرورگر انتخاب کنید، HTML زیر را خواهید دید:
1 2 3 4 5 6 7 | <?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> |
مثال بالا یک DOMDocument-Object ایجاد می کند و XML را از note.xml به آن بارگذاری می کند.
سپس تابع ()saveXML سند XML داخلی را در یک رشته قرار می دهد و سپس می توانیم از آن خروجی ایجاد نماییم.
ابتدا تجزیه کننده XML را نصب کرده؛ XML را بارگیری نموده و سپس همه عناصر <note> را حلقه می کنیم.
1 2 3 4 5 6 7 8 9 | <?php $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); $x = $xmlDoc->documentElement; foreach ($x->childNodes AS $item) { print $item->nodeName . " = " . $item->nodeValue . "<br>"; } ?> |
خروجی کد بالا:
1 2 3 4 5 6 7 8 9 | #text = to = Tove #text = from = Jani #text = heading = Reminder #text = body = Don't forget me this weekend! #text = |
در مثال بالا می بینید که گره های متنی خالی بین هر عنصر وجود دارد.
هنگامی که XML تولید می شود، حاوی فضاهای سفیدی بین گره ها خواهد بود.
تجزیه کننده XML DOM همانند عناصر عادی رفتار می کنند؛ و اگر از آن ها آگاه نیستید؛ ممکن است در کار با آن ها دچار مشکل شوید.
در این جلسه که آخرین جلسه از سر فصل XML در php 7 بود؛ آموزش کار با تجزیه کننده DOM در php 7 را ارائه نمودیم.
در جلسه بعدی یعنی سرفصل کار با Ajax در php 7،ابتدا به معرفی Ajax پرداخته و سپس به کاربردهای آن در php 7 می پردازیم.
با پی وی لرن همراه باشید.