PHP XML Parser
XML কি?
XML একটি মার্কআপ ল্যাংগুয়েজ যা তথ্য সংরক্ষন এবং স্থানান্তরের জন্য ব্যবহৃত হয়। আপনি XML এর মাধ্যমে আপনার নিজের ওয়েব সাইটের তথ্য অন্যদের সাথে শেয়ার করতে পারেন।
XML এর পূর্ণরূপঃ Extensible Markup Language। সুতরাং XML হচ্ছে সম্প্রসারণযোগ্য মার্কআপ ভাষা।
বিভিন্ন ওয়েব প্রযুক্তি যেমন- RSS Feed, Podcast ইত্যাদি XML ভাষায় লেখা হয়।
আপনি খুব সহজেই XML ফাইল তৈরি করতে পারেন। এটি অনেকটা HTML এর মতই। HTML এ ট্যাগ ব্যবহারের সীমাবদ্ধতা থাকলেও XML এ আপনি আপনার ইচ্ছামত ট্যাগ তৈরি করে পারেন।
XML সম্মন্ধে আরও জানতে আমাদের XML টিউটোরিয়াল ভিজিট করুন।
XML Parser কি?
একটি XML ডকুমেন্ট পড়তে এবং পরিবর্তন করতে, তৈরি করতে এবং নিপূণভাবে পরিচালনা করতে আপনার একটি XML parser এর প্রয়োজন হবে।
পিএইচপিতে দুইটি প্রধান XML Parser হলোঃ
- Tree-Based Parser
- Event-Based Parser
Tree-Based Parser
Tree-Based Parser সম্পূর্ণ ডকুমেন্টকে মেমোরির মধ্যে লোড করে এবং XML ডকুমেন্টকে একটি গাছ(Tree) আকৃতিতে রূপ দেয়। এটি সম্পূর্ণ ডকুমেন্টটি বিশ্লেষণ করে এবং গাছের প্রতিটি শাখা প্রশাখায়(DOM এ) প্রবেশাধিকার প্রদান করে।
ছোট ছোট XML ডকুমেন্টের জন্য Tree-based Parser এর কর্মক্ষমতা অনেক বেশি। কিন্তু বড় বড় XML ডকুমেন্টের ক্ষেত্রে কর্মক্ষমতাজনিত(performance) সমস্যার কারনে এটি ব্যবহার করা উচিৎ নয়।
Tree-Based Parser এর উদাহরণঃ
- SimpleXML
- DOM
Event-Based Parser
Event-based Parser সম্পূর্ণ ডকুমেন্টকে মেমোরিতে লোড করে না, বরং এটি একই সময়ে কেবল একটিমাত্র নোড(node) পাঠ করে এবং সঠিক সময়ে(in real time) এর উপর ক্রিয়া করার সম্মতি দেয়।
এক্ষেত্রে আপনি যখন পূর্ববর্তী নোড ছেড়ে পরবর্তী নোড এ যাবেন তখন এটি পূর্ববর্তী নোডটি মেমোরি থেকে ছুড়ে ফেলে দেয়।
বড় বড় XML ডকুমেন্টের জন্য এই ধরণের পার্সার উপযুক্ত। কারণ এটি খুবই দ্রুত কাজ করে এবং কম মেমোরি দখল করে।
Event-Based Parser এর উদাহরণঃ
- XMLReader
- XML Expat Parser