PHP XML DOM
- পূর্ববর্তী পৃষ্ঠা XML Expat Parser
- পরবর্তী পৃষ্ঠা XML SimpleXML
একটি বিবেচিত DOM পার্সার PHP-এ XML ডকুমেন্টকে প্রক্রিয়াকরণ করার সম্ভব করে দেয়。
DOM কি?
W3C DOM HTML ও XML ডকুমেন্টগুলির জন্য প্রমাণপত্রযুক্ত ওবজেক্ট সেট এবং এই ডকুমেন্টগুলির প্রবেশ ও পরিচালনার জন্য প্রমাণপত্রযুক্ত ইন্টারফেস প্রদান করে。
W3C DOM-কে ভিন্ন ভাগ (Core, XML, HTML) এবং ভিন্ন স্তর (DOM Level 1/2/3) হিসাবে বিভক্ত করা হয়:
- Core DOM - কোনও স্ট্রাকচার ডকুমেন্টের জন্য প্রমাণপত্রযুক্ত ওবজেক্ট সেট
- XML DOM - XML ডকুমেন্টের জন্য প্রমাণপত্রযুক্ত ওবজেক্ট সেট
- HTML DOM - HTML ডকুমেন্টের জন্য প্রমাণপত্রযুক্ত ওবজেক্ট সেট
আপনি XML DOM সম্পর্কে আরও অনেক জানতে চান, তাহলে আমাদের XML DOM শিক্ষাক্রম。
XML পার্সার
এক্সএমএল ফাইল পড়া ও তা অপডেট করার জন্য - একটি এক্সএমএল ডকুমেন্ট তৈরি করা ও প্রক্রিয়াকরণ - একটি XML পার্সার চাই।
দুইটি প্রধান এক্সএমএল পার্সার রয়েছে:
- ট্রি-ভিত্তিক পার্সারএই পার্সার XML ডকুমেন্টকে একটি ট্রি-আকৃতি হিসাবে রূপান্তর করে।এটি সমগ্র ডকুমেন্টকে পরিশোধ করে, এবং API প্রদান করে যা DOM (ডকুমেন্ট ওবজেক্ট মডেল) এর মতো ত্রিবিংশতির ইলেকমেন্টগুলির প্রবেশ করতে সাহায্য করে。
- ইভেন্ট-ভিত্তিক পার্সারএটি XML ডকুমেন্টকে একটি ইভেন্ট সিরিজ হিসাবে দেখে।যখন একটি নির্দিষ্ট ইভেন্ট ঘটে, পার্সার ফাংশনটি বলে প্রক্রিয়াকরণ করে。
DOM পার্সার একটি ট্রি-ভিত্তিক পার্সার
নিচের XML ডকুমেন্ট সংখ্যানো দেখুন:
<?xml version="1.0" encoding="ISO-8859-1"?> <from>জন</from>
XML DOM XML-কে একটি ট্রি-আকৃতি হিসাবে দেখে
- স্তর 1: XML ডকুমেন্ট
- স্তর 2: রূপান্তরকারী এলাকা: <from>
- স্তর 3: টেক্সট ইলেকমেন্ট: "জন"
ইনস্টল
DOM XML পার্সারটি PHP কর্মকারীর একটি অংশ।এই ফাংশনগুলিকে ইনস্টল করতে হয় না。
XML ফাইল
আমাদের উদাহরণে, নিচের এই XML ফাইলটি ব্যবহার করবো:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>জর্জ</to> <from>জন</from> <heading>পুনর্মেয়ামী</heading> <body>মিটিংটি ভুল না করুন!</body> </note>
XML লোড ও আউটপুট
আমরা XML পার্সারটি ইনিশিয়ালাইজ করতে হবে, XML লোড করতে হবে, এবং তা আউটপুট করতে হবে:
উদাহরণ
<?php $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); print $xmlDoc->saveXML(); ?>
উপরোক্ত কোডের আউটপুট:
জর্জ জন পুনর্মেয়ামী মিটিংটি ভুল না করুন!
যদি আপনি ব্রাউজার উইন্ডোতে সোর্স কোড দেখেন, তবে নিচের এই এই HTML-এর দেখতে পাবেন:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>জর্জ</to> <from>জন</from> <heading>পুনর্মেয়ামী</heading> <body>মিটিংটি ভুল না করুন!</body> </note>
উপরোক্ত উদাহরণটি একটি DOMDocument-এজেট তৈরি করে, এবং "note.xml"-এর XML-কে এই ডকুমেন্ট অবজেক্টে লোড করে。
saveXML() ফাংশন অন্তর্নিহিত XML ডকুমেন্টকে একটি স্ট্রিংয়ে রাখে, যার মাধ্যমে আমরা তা আউটপুট করতে পারি。
XML পরিবর্তন
আমরা XML পার্সারকে ইনিশিয়ালাইজ করব, XML লোড করব, এবং <note> এলিমেন্টের সকল এলিমেন্টকে পরিবর্তন করব:
উদাহরণ
<?php $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); $x = $xmlDoc->documentElement; foreach ($x->childNodes AS $item) { print $item->nodeName . " = " . $item->nodeValue . "<br />"; } ?>
উপরোক্ত কোডের আউটপুট:
#text = to = George #text = from = John #text = heading = Reminder #text = body = Don't forget the meeting! #text =
উপরোক্ত উদাহরণে, আপনি দেখতে পারেন একটি এলিমেন্টের মধ্যে কোনও খালি টেক্সট নোড রয়েছে。
XML তৈরি হলে, তা সাধারণত নোডগুলির মধ্যে শুধুমাত্র শুকনো স্পেস ধারণ করে।XML DOM পার্সার তাদেরকে সাধারণ এলিমেন্ট হিসাবে দেখে, আপনি যদি তাদেরকে নজরদারি না করেন, তবে কখনও কখনও সমস্যা হতে পারে。
আপনি XML DOM সম্পর্কে আরও অনেক জানতে চান, তাহলে আমাদের XML DOM শিক্ষাক্রম。
- পূর্ববর্তী পৃষ্ঠা XML Expat Parser
- পরবর্তী পৃষ্ঠা XML SimpleXML