পিএইচপি এসকিউএল ওয়ার্ডপ্রেস জাভাস্ক্রিপ্ট জেকুয়েরি এইচটিএমএল
ফোরাম
×

পিএইচপি টিউটোরিয়াল

হোম-HOME পরিচিতি-Introduction ইনস্টল-Install গঠনপ্রনালী-Syntax চলক-Variable পিএইচপি Echo / Print তথ্যের ধরণ-Data Types কনস্ট্যান্ট-Constant অপারেটর-Operator ফাংশন-Function সুপারগ্লোভাল-Superglobal

কন্ট্রোল স্টেটমেন্ট

if স্টেটমেন্ট if...Else স্টেটমেন্ট Switch স্টেটমেন্ট While লুপ DO...While লুপ For লুপ

পিএইচপি এ্যারে এবং স্ট্রিং

এ্যারে-Array এ্যারে সর্টিং -Array Sorting মাল্টি এ্যারে-Multi Array স্ট্রিং-String

পিএইচপি এডভান্স

তারিখ এবং সময় পিএইচপি include ফাইল হ্যান্ডলিং-File Handling ফাইল খোলা/পড়া ফাইল তৈরি/লিখা ফাইল আপলোড ফাইল ডাউনলোড কুকি-Cookie সেশন-Session ফিল্টার-Filter এডভান্স ফিল্টার-Advance Filter এঁরর হ্যান্ডলিং-Error Handling এক্সেপশন হ্যান্ডেলিং-Exception Handling

পিএইচপি ফরম

ফরম হ্যান্ডলিং ফরম ভ্যালিডেশন আবশ্যক ফরম ফিল্ড ফরম URL/E-mail সম্পূর্ণ ফরম

MySQL ডেটাবেজ

MySQL ডেটাবেজ MySQL ডেটাবেজ সংযোগ MySQL ডেটাবেজ তৈরী MySQL টেবিল তৈরী MySQL তথ্য ইনসার্ট MySQL শেষ আইডি পান MySQL একাধিক তথ্য ইনসার্ট MySQL প্রিপেয়ার্ড স্টেটমেন্ট MySQL তথ্য সিলেক্ট MySQL তথ্য ডিলিট MySQL তথ্য আপডেট MySQL সীমিত তথ্য সিলেক্ট

পিএইচপি- এক্সএমএল

PHP XML Parser PHP SimpleXML Parser PHP XML Parser PHP SimpleXML - Get PHP XML Expat PHP XML Dom

পিএইচপি - এজাক্স

পিএইচপি AJAX পরিচিতি AJAX পিএইচপি AJAX ডেটাবেজ AJAX এক্সএমএল AJAX সারাসরি সার্চ AJAX RSS রির্ডার AJAX Poll

পিএইচপি অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং(OOP)

OOP পরিচিতি OOP class তৈরী OOP objects তৈরী OOP $this কিওয়ার্ড OOP মেথড এবং প্রোপার্টি চেইনিং OOP অ্যাক্সেস মোডিফায়ার OOP ম্যাজিক মেথড এবং কন্সটেন্ট OOP ইনহেরিটেন্স OOP Abstract class এবং method OOP ইন্টারফেস OOP পলিমরফিজম OOP টাইপ হিন্টিং() OOP টাইপ হিন্টিনং ইন্টারফেস OOP স্ট্যাটিক মেথোড এবং প্রোপার্টি

 

এক্সএমএল ডোম পার্সার


বিল্ট-ইন ডোম পার্সার(parser) এর মাধ্যমে পিএইচপিতে এক্সএমএল ডকুমেন্ট প্রক্রিয়া করা সম্ভব।


এক্সএমএল ডোম পার্সার

DOM Parser হলো Tree-Based Parser।

নিম্নের নমুনা এক্সএমএল ডকুমেন্টটি লক্ষ্য করুনঃ

<?xml version="1.0" encoding="UTF-8"?>
<from>Azizur</from>

DOM একটি এক্সএমএল ডকুমেন্টকে গাছ হিসাবে দেখে। গাছের যেমন একটি মূল থাকে এবং এই মূলের অনেক শাখা প্রশাখা থাকে। ঠিক একই ভাবে এক্সএমএল ডকুমেন্টটি একটি মূল(root) এবং এলিমেন্টসমূহ হলো এর শাখা প্রশাখাঃ

  • প্রথম ধাপঃ এক্সএমএল ডকুমেন্ট
  • দ্বিতীয় ধাপঃ রুট/মূল এলিমেন্ট - <from>
  • তৃতীয় ধাপঃ টেক্সট এলিমেন্ট - "Azizur"

DOM ফাংশনসমূহ পিএইচপি কোর ফাইলের অংশ হওয়ায় এই ফাংশনসমূহ ব্যবহার করার জন্য কোনো ইনস্টলেশনের প্রয়োজন নাই।


একটি সাধারন এক্সএমএল ফাইল

নিম্নের wish.xml ফাইলটি আমাদের উদাহরণে ব্যবহার করবোঃ

উদাহরণঃ wish.xml ফাইল
<?xml version="1.0" encoding="UTF-8"?>
<wish>
  <to>Tamjid</to>
  <from>Azizur</from>
  <subject>Wish</subject>
  <message>Best wishes for you.</message>
</wish>

এক্সএমএল লোড এবং আউটপুট

নিম্নের উদাহরণের মাধ্যমে আমরা এক্সএমএল পার্সার আরম্ভ করে এক্সএমএল ডকুমেন্ট লোড করবো এবং এর আউটপুট নিবঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি এক্সএমএল লোড এবং এর আউটপুট</title>
</head>
<body>

<?php
$xmlDocument = new DOMDocument();
$xmlDocument->load("wish.xml");
print $xmlDocument->saveXML(); ?> </body> </html>

ফলাফল


  Tamjid
  Azizur
  Wish
  Best wishes for you.

উপরের উদাহরণে প্রথমে একটি DOMDocument-Object তৈরি হয় এবং এতে "wish.xml" ফাইল থেকে এক্সএমএল ডকুমেন্ট লোড হয়।

তারপর saveXML() ফাংশন অভ্যন্তরীণ এক্সএমএল ডকুমেন্টকে একটি স্ট্রিং-এর মধ্যে রাখে। আর তাই আমরা print স্টেটমেন্ট এর মাধ্যমে আউটপুট নিই।

আপনি যদি উপরের ফলাফলের জন্য ব্রাউজারে "View source" সিলেক্ট করেন তাহলে নিম্নের ন্যায় এইচটিএমএল কোড দেখতে পাবেনঃ

<?xml version="1.0" encoding="UTF-8"?>
<wish>
  <to>Tamjid</to>
  <from>Azizur</from>
  <subject>Wish</subject>
  <message>Best wishes for you.</message>
</wish>

সম্পূর্ণ এক্সএমএল লুপ করা

নিম্নের উদাহরণে আমরা এক্সএমএল পার্সার আরম্ভ করে এক্সএমএল ডকুমেন্ট লোড করবো এবং লুপের সাহায্যে <wish> এলিমেন্টের অন্তর্ভুক্ত সকল এলিমেন্ট এর আউটপুট নিবঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
$xmlDocument = new DOMDocument();
$xmlDocument->load("wish.xml");

$wish = $xmlDocument->documentElement;
foreach ($wish->childNodes AS $item) {
  print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>

</body>
</html>

ফলাফল
#text = 
  
to = Tamjid
#text =
from = Azizur
#text =
subject = Wish
#text =
message = Best wishes for you.
#text =

উপরের উদাহরনে লক্ষ্য করলে দেখবেন প্রতি দুটি এলিমেন্টের মধ্যে একটি খালি টেক্সট নোড রয়েছে।

যখন এক্সএমএল তৈরি হয় তখন দুটি নোড এর মধ্যে প্রায়ই স্পেস থাকে। আর এক্সএমএল ডোম পার্সার এই খালি স্পেসসমূহকে সাধারন এলিমেন্ট হিসাবে বিবেচনা করে। আপনি যদি এই ব্যাপারে সচেতন না থাকেন তাহলে এটি মাঝে মধ্যে সমস্যার সৃষ্টি করতে পারে।


এক্সএমএল ডোম সম্পর্কে জানতে আমাদের এক্সএমএল টিউটোরিয়াল ভিজিট করুন।