কম্পিউটার

পাইথনে XML প্রসেসিং মডিউল


XML মানে "এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ"। এটি প্রধানত ওয়েবপেজগুলিতে ব্যবহৃত হয়, যেখানে ডেটার একটি নির্দিষ্ট কাঠামো থাকে। এটিতে উপাদান রয়েছে, একটি শুরু এবং একটি শেষ ট্যাগ দ্বারা সংজ্ঞায়িত। একটি ট্যাগ হল একটি মার্কআপ গঠন যা <দিয়ে শুরু হয় এবং> দিয়ে শেষ হয়। স্টার্ট-ট্যাগ এবং শেষ-ট্যাগের মধ্যে অক্ষরগুলি হল উপাদানের বিষয়বস্তু। উপাদানগুলিতে অন্যান্য উপাদান থাকতে পারে, যেগুলিকে "শিশু উপাদান" বলা হয়।

উদাহরণ

নীচে একটি XML ফাইলের উদাহরণ দেওয়া হল যা আমরা এই টিউটোরিয়ালে ব্যবহার করতে যাচ্ছি৷

  Vicky, Matthew Geo-Spatial Data Analysis Python  4.95 2020-07-01 পাইথন ব্যবহার করে জিও স্থানিক ডেটা বিশ্লেষণ শিখুন।   বোলান, কম ডেটা স্ট্রাকচার কম্পিউটার সায়েন্স 12.03 2020-1-19 বিভিন্ন প্রোগ্রামিং ভাষা ব্যবহার করে ডেটা স্ট্রাকচার শিখুন।   Sora, Everest Tensorflow ব্যবহার করে বিশ্লেষণ ডেটা বিজ্ঞান 7.11 2020-1-19 টেনসরফ্লো ব্যবহার করে ডেটা বিশ্লেষণ শিখুন। 

xml.etree.ElementTree ব্যবহার করে xml পড়া

এই মডিউলটি xml ফাইলের রুটে অ্যাক্সেস সরবরাহ করে এবং তারপরে আমরা ভিতরের উপাদানগুলির বিষয়বস্তু অ্যাক্সেস করতে পারি। নীচের উদাহরণে আমরা টেক্সট নামক বৈশিষ্ট্যটি ব্যবহার করি এবং সেই উপাদানগুলির বিষয়বস্তু পাই।

উদাহরণ

ETxml_tree =ET.parse('E:\\TutorialsList.xml') xml_root =xml_tree.getroot()# হেডারপ্রিন্ট('টিউটোরিয়াল তালিকা :') এর জন্য xml_elmt in xml_elm in xml_elm:এর জন্য
ইমপোর্ট করুন xml_elmt:প্রিন্ট(inner_elmt.text)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

টিউটোরিয়াল তালিকা :ভিকি, ম্যাথুজিও-স্থানিক ডেটা বিশ্লেষণ পাইথন4.952020-07-01Python.Bolan ব্যবহার করে জিও স্থানিক ডেটা বিশ্লেষণ শিখুন .112020-1-19টেনসরফ্লো ব্যবহার করে ডেটা বিশ্লেষণ শিখুন।

xml বৈশিষ্ট্যগুলি পাওয়া

আমরা রুট ট্যাগে বৈশিষ্ট্য এবং তাদের মানগুলির তালিকা পেতে পারি। একবার আমরা বৈশিষ্ট্যগুলি খুঁজে পাই, এটি আমাদের সহজেই XML ট্রি নেভিগেট করতে সহায়তা করে৷

উদাহরণ

ETxml_tree =ET.parse('E:\\TutorialsList.xml')xml_root =xml_tree.getroot()# হেডারপ্রিন্ট('টিউটোরিয়াল তালিকা :') মুভির জন্য xml_root.iter(') হিসাবে xml.etree.ElementTree আমদানি করুন টিউটোরিয়াল'):print(movie.attrib)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

টিউটোরিয়াল তালিকা :{'id':'Tu101'}{'id':'Tu102'}{'id':'Tu103'}

ফল্টারিং ফলাফল

আমরা এই মডিউলের Findall() ফাংশন ব্যবহার করে xml ট্রি থেকে ফলাফল ফিল্টার করতে পারি। নীচের উদাহরণে আমরা টিউটোরিয়ালের আইডি খুঁজে পেয়েছি যার মূল্য 12.03।

উদাহরণ

ETxml_tree =ET.parse('E:\\TutorialsList.xml')xml_root =xml_tree.getroot()# হেডারপ্রিন্ট('টিউটোরিয়াল তালিকা :') মুভির জন্য xml_root.findall(") হিসাবে xml.etree.ElementTree আমদানি করুন ./টিউটোরিয়াল/[মূল্য ='12.03']"):print(movie.attrib)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

টিউটোরিয়াল তালিকা :{'id':'Tu102'}

DOM API এর সাথে XML পার্সিং

আমরা xml.dom মডিউল ব্যবহার করে একটি মিনিডম অবজেক্ট তৈরি করি। মিনিডম অবজেক্ট একটি সহজ পার্সার পদ্ধতি প্রদান করে যা দ্রুত XML ফাইল থেকে একটি DOM ট্রি তৈরি করে। নমুনা বাক্যাংশটি মিনিডম অবজেক্টের পার্স (ফাইল [,পার্সার]) ফাংশনকে একটি DOM ট্রি অবজেক্টে ফাইল দ্বারা মনোনীত XML ফাইলকে পার্স করার জন্য কল করে।

উদাহরণ

from xml.dom.minidom import parseimport xml.dom.minidom# minidom parserDOMTree ব্যবহার করে XML নথি খুলুন =xml.dom.minidom.parse('E:\\TutorialsList.xml') সংগ্রহ =DOMTree.documentElement# সব পান collectiontut_list =collection.getElementsByTagName("Tutorial")print("*****Tutorials****")# প্রতিটি টিউটোরিয়ালের বিবরণ প্রিন্ট করুন ')[0] প্রিন্ট("স্ট্রিম:",strm.childNodes[0].data) prc =tut.getElementsByTagName('price')[0] print("Prece:", prc.childNodes[0].data) 

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

*****টিউটোরিয়াল*****স্ট্রীম:পাইথন মূল্য:4.95 স্ট্রীম:কম্পিউটার সায়েন্স মূল্য:12.03 স্ট্রিম:ডেটা সায়েন্স মূল্য:7.11

  1. পাইথনে গ্রাহক মন্থনের পূর্বাভাস

  2. পাইথনে সেন্সাস ডেটা বিশ্লেষণ করা হচ্ছে

  3. পাইথনে XML পার্সিং?

  4. পাইথনে ইমেজ প্রসেসিং?