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

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

হোম-HOME ইনস্টল-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 স্ট্যাটিক মেথোড এবং প্রোপার্টি

পিএইচপি - রেফারেন্স

Array ফাংশন Calendar ফাংশন date/time ফাংশন Directory ফাংশন Error ফাংশন Filesystem ফাংশন Filter ফাংশন FTP ফাংশন HTTP ফাংশন libxml ফাংশন Mail ফাংশন Math ফাংশন Misc. ফাংশন MySQLi ফাংশন SimpleXML ফাংশন String ফাংশন XML Parser ফাংশন Zip File ফাংশন টাইমজোন Timezones
 

PHP SimpleXML Parser


পিএইচপির অন্যান্য এক্সটেনশন গুলোর ন্যায় 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 ডেটা ধারন করে। যেমনঃ

উদাহরণ
<?php
$xmlData = "<?xml version='1.0' encoding='UTF-8'?>
        <wish>
            <to>Tamjid</to>
            <from>Azizur</from>
            <subject>Wish</subject>
            <message>Best wishes for you.</message>
        </wish>";
?>

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

উদাহরণ
<?php
$xmlData = "<?xml version='1.0' encoding='UTF-8'?>
        <wish>
            <to>Tamjid</to>
            <from>Azizur</from>
            <subject>Wish</subject>
            <message>Best wishes for you.</message>
        </wish>";
?>

<?php
$xml = simplexml_load_string($xmlData) or die("Error...");
print_r($xml);
?>

ফলাফল
SimpleXMLElement Object ( [to]=>Tamjid [from]=>Azizur 
[subject]=>Wish [message]=>Best wishes for you. )

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

উদাহরণ
<?php
libxml_use_internal_errors(true);
$xmlData = "<?xml	version='1.0' encoding='UTF-8'?>
        <document>
            <user>Tamjid Hasan</wronguser>
            <email>tamjid@example.com</wrongemail>
        </document>";

?>

<?php
$xml = simplexml_load_string($xmlData);
if ($xml === false) {
    echo "Failed loading XML: ";
    foreach(libxml_get_errors() as $error) {
        echo "<br>", $error->message;
    }
} else {
    print_r($xml);
}
?>

ফলাফল
Failed loading XML:
Opening and ending tag mismatch: user line 3 and wronguser
Opening and ending tag mismatch: email line 4 and wrongemail

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

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

ধরুন, আমাদের "wish.xml" নামে একটি 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>

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

উদাহরণ
<?php
 $xml = simplexml_load_file("wish.xml") or die("Error...");
 print_r($xml);
?>

ফলাফল
SimpleXMLElement Object ( [to]=>Tamjid [from]=>Azizur 
[subject]=>Wish [message]=>Best wishes for you.)