PHP XML DOM

পিএইচপি এক্সএমএল (PHP XML) - পিএইচপি প্রোগ্রামিং (PHP Programming) - Computer Programming

322

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

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

DOM Parser হলো Tree-Based Parser।

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

kt_satt_skill_example_id=507

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

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

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


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

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

kt_satt_skill_example_id=508

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

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

kt_satt_skill_example_id=510

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

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

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

kt_satt_skill_example_id=512

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

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

kt_satt_skill_example_id=514

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

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


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

Content added || updated By
Promotion

Are you sure to start over?

Loading...