পিএইচপি তে এক্সএমএলকে এসোসিয়েটিভ অ্যারে রূপান্তর করুন

Convert Xml Associative Array Php



এক্সএমএল (এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ) হল এক ধরনের মার্কআপ ল্যাঙ্গুয়েজ যা মানুষের পাঠযোগ্য বিন্যাসে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এটি অন্যান্য মার্কআপ ভাষা থেকে আলাদা। এই ভাষার প্রতিটি ট্যাগ ব্যবহারকারী-সংজ্ঞায়িত। যখন আপনি ডেটা সংরক্ষণের জন্য কোন ডাটাবেস ব্যবহার করতে চান না তখন অল্প পরিমাণ ডেটা সংরক্ষণ করার জন্য XML ব্যবহার করা আরও ভাল সমাধান। পিএইচপি স্ক্রিপ্ট ব্যবহার করে এক্সএমএল ডকুমেন্টের ডেটা সহজেই অ্যাক্সেস করা যায় এবং যেকোনো ওয়েব অ্যাপ্লিকেশনে ব্যবহার করা যায়। কিভাবে এক্সএমএল ডকুমেন্ট পার্স করা যায় এবং একটি সহযোগী অ্যারেতে সংরক্ষণ করা যায় তা এই টিউটোরিয়ালে দেখানো হয়েছে।

প্রয়োজনীয় কার্যাবলী

কিছু অন্তর্নির্মিত ফাংশন এক্সএমএল বিষয়বস্তুকে একটি সহযোগী পিএইচপি অ্যারে রূপান্তর করতে ব্যবহৃত হয়। বিভিন্ন ফাংশনের উদ্দেশ্য নীচে ব্যাখ্যা করা হয়েছে।







file_get_contents ():



এই ফাংশনটি কোন XML ডেটা রূপান্তর করে স্ট্রিং ডেটা ফেরত দেয়। এটি যুক্তি হিসেবে যেকোনো XML ফাইলের নাম নেয়।



simplexml_load_string ():





এই ফাংশনটি এক্সএমএল স্ট্রিং ডেটা রূপান্তর করে এক্সএমএল অবজেক্ট রিটার্ন করে। এটি একটি যুক্তি হিসাবে XML স্ট্রিং ডেটা নেয়।

simplexml_load_file ():



এই ফাংশনটি XML ফাইলের বিষয়বস্তু রূপান্তর করে XML অবজেক্ট প্রদান করে। এটি একটি যুক্তি হিসাবে XML ফাইলের নাম নেয়।

SimpleXMLElement ():

এটি এক্সএমএল ডেটা থেকে একটি এক্সএমএল বস্তু তৈরি করতে ব্যবহৃত হয়। এটি একটি যুক্তি হিসাবে XML বিষয়বস্তু মান নেয়।

json_encode ():

এটি XML বস্তুকে রূপান্তর করে JSON অবজেক্টটি ফেরত দেয়। এটি একটি যুক্তি হিসাবে XML অবজেক্ট ভেরিয়েবল নেয়।

json_decode ():

এটি JSON ডেটা রূপান্তর করে সহযোগী পিএইচপি অ্যারে ফেরত দেয়। এটি একটি যুক্তি হিসাবে JSON অবজেক্ট ভেরিয়েবল নেয়।

XML ফাইল তৈরি করুন

এক্সএমএল ডেটাকে সহযোগী পিএইচপি অ্যারেতে রূপান্তর করার উপায় জানতে আপনাকে একটি এক্সএমএল ফাইল তৈরি করতে হবে বা স্ক্রিপ্টে এক্সএমএল ডেটা সংজ্ঞায়িত করতে হবে। নিম্নলিখিত বিষয়বস্তু সহ কোর্স.এক্সএমএল নামে একটি এক্সএমএল ফাইল তৈরি করুন এবং এটি পিএইচপি স্ক্রিপ্টের অবস্থানে সংরক্ষণ করুন। ফাইলটিতে মূল উপাদানগুলির অধীনে শিশু উপাদান রয়েছে। সুতরাং, নিম্নোক্ত এক্সএমএল ফাইলটিকে পিএইচপি অ্যারে রূপান্তর করার পরে একটি দ্বিমাত্রিক সহযোগী অ্যারে তৈরি হবে।

course.xml

সংস্করণ='1.0'?>
>
>ওয়েব প্রোগ্রামিং>
>6 মাস>
>
>
>পিএইচপি প্রোগ্রামিং এর আনন্দ>
>অ্যালান ফোর্বস>
>বরই দ্বীপ>
>
>
>পিএইচপি& MySQL Novice to Ninja
টম বাটলার এবং কেভিন ইয়াঙ্ক
সাইটপয়েন্ট


প্রথম পিএইচপি এবং মাইএসকিউএল -এর প্রধান
লিন বেইগলি এবং মাইকেল মরিসন
ও'রিলি


উদাহরণ -1: ত্রুটি যাচাই না করেই এক্সএমএল ফাইলের বিষয়বস্তুকে একটি সহযোগী অ্যারে রূপান্তর করুন

নিচের স্ক্রিপ্টটি এক্সএমএল অবজেক্ট তৈরির জন্য file_get_contents () এবং simplexml_load_string () ফাংশনের ব্যবহার দেখায়। এখানে, course.xml ফাইলটি রূপান্তরের জন্য ব্যবহৃত হয় যা আগে তৈরি করা হয়েছিল। পরবর্তীতে, xon_encode () এবং json_decode () ফাংশনটি XML ফাইলের বিষয়বস্তু রূপান্তর করার পরে সহযোগী অ্যারে পেতে ব্যবহৃত হয়। যদি XML বিষয়বস্তুতে কোন ত্রুটি না থাকে, তাহলে নিচের স্ক্রিপ্ট দ্বারা কোন ত্রুটি দেখানো হবে না। এখানে, _ _+_ | ট্যাগটি বিন্যাসিত উপায়ে অ্যারে প্রিন্ট করতে ব্যবহৃত হয়।



// বিদ্যমান XML ফাইল সংজ্ঞায়িত করুন
$ xml = 'course.xml';

// এক্সএমএল স্ট্রিং হিসাবে এক্সএমএল ফাইলের সম্পূর্ণ বিষয়বস্তু পড়ুন
$ xml ডেটা = file_get_contents ($ xml);

// এক্সএমএল স্ট্রিং ডেটাকে এক্সএমএল অবজেক্টে রূপান্তর করুন
$ xmlObject = simplexml_load_string ($ xml ডেটা);

// XML বস্তুকে JSON অবজেক্টে রূপান্তর করুন
$ jsonObject = json_encode ($ xmlObject);

// JSON বস্তুকে একটি সহযোগী অ্যারে রূপান্তর করুন
$ assArray = json_decode ($ jsonObject, সত্য);

// সহযোগী অ্যারের গঠন মুদ্রণ করুন
বের করে দিল '
  
';

?>

আউটপুট:

পিএইচপি স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে। এখানে, XML ফাইলের বিষয়বস্তুর উপর ভিত্তি করে একটি দ্বিমাত্রিক অ্যারে তৈরি করা হয়, course.xml।

উদাহরণ -২: XML ফাইলের বিষয়বস্তু চেকিং এরর সহ একটি সহযোগী অ্যারেতে রূপান্তর করুন

এক্সএমএলকে একটি সহযোগী অ্যারে রূপান্তর করার সময় ত্রুটি পরীক্ষা করা ভাল। স্ক্রিপ্টে ত্রুটি যাচাই করা হলে কোডারকে কোড ডিবাগ করতে সাহায্য করবে। নিম্নোক্ত স্ক্রিপ্টটি XML ফাইলের বিষয়বস্তুকে সিম্পলএক্সএমএল_লোড_ফিল () ত্রুটি পরিচালনার সাথে ফাংশন ব্যবহার করে একটি সহযোগী অ্যারে রূপান্তর করার উপায়গুলি দেখায়। ত্রুটি হ্যান্ডলিং সক্ষম করতে libxml_use_internal_errors () ফাংশন TRUE ভ্যালু ব্যবহার করা হয়। যদি স্ক্রিপ্টে ব্যবহৃত XML ফাইলের বিষয়বস্তুতে কোন ত্রুটি থাকে তবে simplexml_load_file () ফাংশনটি মিথ্যা হয়ে যাবে এবং ত্রুটি বার্তাটি libxml_get_errors () ফাংশন ব্যবহার করে মুদ্রিত হবে। যদি XML ফাইলে কোন ত্রুটি না থাকে, তাহলে ফাইলের বিষয়বস্তু সঠিকভাবে দ্বিমাত্রিক সহযোগী অ্যারেতে রূপান্তরিত হবে।



// ব্যবহারকারীর ত্রুটি পরিচালনা সক্ষম করুন
libxml_use_internal_errors (সত্য);

// এক্সএমএল অবজেক্ট তৈরি করুন
$ objXml = simplexml_load_file ('course.xml');

// মুদ্রণ ত্রুটি যদি XML বস্তু মিথ্যা প্রদান করে
যদি ($ objXml === মিথ্যা) {
বের করে দিল এক্সএমএল ফাইল বিশ্লেষণ করার সময় ত্রুটি ছিল।n';
প্রতিটির জন্য, প্রত্যেকটির জন্য( libxml_get_errors () হিসাবে $ ত্রুটি) {
বের করে দিল $ ত্রুটি->বার্তা;
}
প্রস্থান ;
}

// XML বস্তুকে JSON অবজেক্টে রূপান্তর করুন
$ objJson = json_encode ($ objXml);
// JSON বস্তুকে একটি সহযোগী অ্যারে রূপান্তর করুন
$ assarr = json_decode ($ objJson, সত্য);

// সহযোগী অ্যারের গঠন মুদ্রণ করুন
বের করে দিল '
';  
print_r ($assArray);
echo '
'
;

?>

আউটপুট:

পিএইচপি স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে। এখানে, XML ফাইলে কোন ত্রুটি নেই। সুতরাং, এক্সএমএল ফাইলের বিষয়বস্তুর উপর ভিত্তি করে একটি দ্বিমাত্রিক অ্যারে পূর্ববর্তী উদাহরণের মতো তৈরি হয়েছে, course.xml।

উদাহরণ-3: XML বিষয়বস্তুকে একটি সহযোগী অ্যারে রূপান্তর করুন

SimpleXMLElement () ফাংশন ব্যবহার করে নিম্নলিখিত স্ক্রিপ্ট এক্সএমএল ডেটাকে অ্যাসোসিয়েটিভ অ্যারে রূপান্তর করার উপায় দেখায়। স্ক্রিপ্টে, এক্সএমএল বিষয়বস্তু $ xml নামে একটি ভেরিয়েবলে সংরক্ষণ করা হয় যা ফাংশনের যুক্তি হিসাবে ব্যবহার করা হয়, SimpleXMLElement ()। পরবর্তীতে, xon_encode () এবং json_decode () ফাংশনটি XML ফাইলের বিষয়বস্তু রূপান্তর করার পরে সহযোগী অ্যারে পেতে ব্যবহৃত হয়।



// এক্সএমএল ভেরিয়েবল সংজ্ঞায়িত করুন
$ xml = <<


[ইমেল সুরক্ষিত]

12/A, Dhanmondi
াকা



[ইমেল সুরক্ষিত]

156, মোটিফ
াকা



[ইমেল সুরক্ষিত]

21 / বি, মগবাজার
াকা



এক্সএমএল
;

// এক্সএমএল অবজেক্ট তৈরি করুন
$ xmlObject = নতুনSimpleXMLElement($ xml);
// JSON অবজেক্ট তৈরি করুন
$ jsonObject = json_encode ($ xmlObject);
// JSON বস্তুকে একটি সহযোগী অ্যারে রূপান্তর করুন
$ assArray = json_decode ($ jsonObject, সত্য);

// সহযোগী অ্যারের গঠন মুদ্রণ করুন
বের করে দিল '
';  
print_r ($assarr);
echo '
'
;

?>

আউটপুট:

পিএইচপি স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে। এখানে, XML ভেরিয়েবল, $ xml এর বিষয়বস্তুর উপর ভিত্তি করে একটি দ্বিমাত্রিক অ্যারে উৎপন্ন হয়।

উপসংহার:

এই টিউটোরিয়ালে দেখানো একটি সহযোগী অ্যারে XML বিষয়বস্তু রূপান্তর করার তিনটি ভিন্ন উপায় ছিল। এটি পাঠকদের এক্সএমএল ডেটার সাথে কাজ করার উপায় জানতে এবং এক্সএমএল বিষয়বস্তু থেকে ডেটা বিশ্লেষণ করতে সাহায্য করবে পিএইচপি স্ক্রিপ্ট ব্যবহার করে।