PHP SimpleXML Parser

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

256

পিএইচপির অন্যান্য এক্সটেনশন গুলোর ন্যায় SimpleXML ও একটি পিএইচপি এক্সটেনশন(extension) যা দ্বারা আমরা খুব সহজেই XML ডেটা পেতে পারি এবং ডে


টা গুলো নিপূণভাবে পরিচালনা করতে পারি।

SimpleXML Parser

SimpleXML হচ্ছে Tree-Based টাইপের অন্তর্ভুক্ত একটি পার্সার।

আপনি যদি পূর্ব থেকেই XML ডকুমেন্টের গঠন অথবা লেআউট সম্পর্কে জেনে থাকেন তাহলে SimpleXML এর মাধ্যমে আপনি খুব সহজেই ডকুমেন্টের এলিমেন্টের নাম, এট্রিবিউট এবং টেক্সট কন্টেন্ট পেতে পারেন।

SimpleXML একটি XML ডকুমেন্টকে ডেটা স্ট্রাকচারে রূপান্তরিত করে। ফলে আপনি এটিকে array এবং object এর মত পুনারাবৃত্তি(iterate) করতে পারবেন।

XML ডকুমেন্ট এর একটি এলিমেন্টের ডেটা পড়ার জন্য DOM অথবা Expat Parser এর তুলনায় SimpleXML এ অনেক কম কোড লিখতে হয়।


ইনস্টলেশন

পিএইচপি ভার্সন-৫ থেকে SimpleXML ফাংশনসমূহ পিএইচপি কোর ফাইলের সাথে যুক্ত হওয়ায় এই ফাংশনসমূহ ব্যবহারের জন্য কোনো ইনস্টলেশনের প্রয়োজন নাই।


SimpleXML ব্যবহার করে স্ট্রিং থেকে তথ্য পড়া

স্ট্রিং থেকে এক্সএমএল ডেটা পড়ার জন্য simplexml_load_string() ফাংশনটি ব্যবহার করা হয়।

ধরুন, আমাদের একটি স্ট্রিং ভ্যারিয়েবল $xmlData রয়েছে যা XML ডেটা ধারন করে। যেমনঃ

kt_satt_skill_example_id=487

একটি স্ট্রিং থেকে তথ্য পড়ার জন্য কিভাবে simplexml_load_string() ফাংশন ব্যবহার করবেন নিম্নের উদাহরণে দেখানো হলোঃ

kt_satt_skill_example_id=488

এরর নিয়ন্ত্রণে কিছু পরামর্শঃ XML ডকুমেন্টি লোড হওয়ার সময় XML এর সমস্ত ভ্রান্তি(error) পু্নরূদ্ধার করতে libxml ফাংশনসমূহ ব্যবহার করুন। তারপরে ভ্রান্তিসমূহ পূনরাবৃত্তি(iterate) করুন। নিম্নের উদাহরণটি একটি অসম্পূর্ণ স্ট্রিং লোড করার চেষ্টা করবেঃ

kt_satt_skill_example_id=489

SimpleXML ব্যবহার করে ফাইল থেকে তথ্য পড়া

ফাইল থেকে XML ডেটা পড়ার জন্য simplexml_load_file() ফাংশনটি ব্যবহার করা হয়।

ধরুন, আমাদের "wish.xml" নামে একটি XML ফাইল রয়েছেঃ

kt_satt_skill_example_id=491

একটি ফাইল থেকে তথ্য পড়ার জন্য কিভাবে simplexml_load_file() ফাংশন ব্যবহার করবেন নিম্নের উদাহরণে দেখানো হলোঃ

kt_satt_skill_example_id=492

 

Content added || updated By
Promotion

Are you sure to start over?

Loading...