কম্পিউটার

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


পাইথন এক্সএমএল পার্সার পার্সার এক্সএমএল ফাইল থেকে দরকারী তথ্য পড়তে এবং বের করার সবচেয়ে সহজ উপায়গুলির মধ্যে একটি প্রদান করে। এই সংক্ষিপ্ত টিউটোরিয়ালে আমরা দেখতে যাচ্ছি কিভাবে আমরা Python ElementTree XML API ব্যবহার করে XML ফাইল পার্স, পরিবর্তন এবং XML ডকুমেন্ট তৈরি করতে পারি।

Python ElementTree API হল এক্সএমএল ডেটা এক্সট্র্যাক্ট, পার্স এবং ট্রান্সফর্ম করার অন্যতম সহজ উপায়।

তাহলে আসুন ElementTree:

ব্যবহার করে পাইথন এক্সএমএল পার্সার ব্যবহার করা শুরু করি

উদাহরণ1

XML ফাইল তৈরি করা হচ্ছে

প্রথমে আমরা একটি উপাদান এবং একটি উপ-উপাদান সহ একটি নতুন XML ফাইল তৈরি করতে যাচ্ছি৷

#ইমপোর্ট প্রয়োজনীয় libraryimport xml.etree.ElementTree xmldef createXML(ফাইলের নাম):# মূল উপাদান রুট দিয়ে শুরু করুন =xml.Element("users") Children1 =xml.Element("user") root.append(children1) ) tree =xml.ElementTree(root) সাথে open(filename, "wb") as fh:tree.write(fh)if __name__ =="__main__":createXML("testXML.xml")

একবার আমরা উপরের প্রোগ্রামটি চালালে, আমাদের বর্তমান ডিফল্ট ওয়ার্কিং ডিরেক্টরিতে "textXML.xml" নামে একটি নতুন ফাইল তৈরি হয়:

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

যা কিছু বিষয়বস্তু ধারণ করে:

অনুগ্রহ করে মনে রাখবেন ফাইলটি লেখার সময় আমরা 'wb' মোড ব্যবহার করেছি। ফাইলটি বাইনারি মোডে লিখুন।

XML উপাদানগুলিতে মান যোগ করা

আমাদের উপরের প্রোগ্রামে XML উপাদানগুলির কিছু মান দেওয়া যাক:

#ইমপোর্ট প্রয়োজনীয় libraryimport xml.etree.ElementTree xmldef createXML(ফাইলের নাম):# মূল উপাদান রুট দিয়ে শুরু করুন =xml.Element("users") Children1 =xml.Element("user") root.append(children1) ) userId1 =xml.SubElement(children1, "Id") userId1.text ="hello" userName1 =xml.SubElement(children1, "Name") userName1.text ="রাজেশ" গাছ =xml.ElementTree(রুট) খোলার সাথে ফাইলের নাম, "wb") fh হিসাবে:tree.write(fh)if __name__ =="__main__":createXML("testXML.xml")

উপরের প্রোগ্রামটি চালানোর পরে, আমরা দেখতে পাব যে মানগুলির সাথে নতুন উপাদান যুক্ত হয়েছে, যেমন:

  হ্যালো রাজেশ 

উপরের আউটপুট ঠিক আছে।

এখন ফাইল সম্পাদনা শুরু করা যাক:

এক্সএমএল ডেটা সম্পাদনা

আমাদের বিদ্যমান প্রোগ্রামে একটি ফাইল থেকে কিছু ডেটা যোগ করা যাক৷

newdata.xml

  1a রাজেশ NA   2b টিউটোরিয়াল পয়েন্ট NA   3c অন্যান্য NA 

উপরে আমাদের বর্তমান xml ফাইল রয়েছে, আসুন প্রতিটি ব্যবহারকারীর বেতন আপডেট করার চেষ্টা করি:

ETdef updateET(filename) হিসেবে #import প্রয়োজনীয় libraryimport xml.etree.ElementTree:# root.iter('-এ বেতনের জন্য রুট এলিমেন্ট ট্রি =ET.ElementTree(file=filename) root =tree.getroot() দিয়ে শুরু করুন বেতন'):salary.text ='500000' tree =ET.ElementTree(root) সাথে open("newdata.xml", "wb") fh হিসাবে:tree.write(fh)if __name__ =="__main__":updateET ("newdata.xml")

আউটপুট

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

তাই আমরা দেখি বেতন 'NA' থেকে '500000' এ পরিবর্তিত হয়েছে।

উদাহরণ:Python XML পার্সার

এখন আরেকটি প্রোগ্রাম লিখি যা ফাইলে উপস্থিত XML ডেটা পার্স করবে এবং ডেটা প্রিন্ট করবে।

ETdef parseXML(file_name) হিসেবে #import প্রয়োজনীয় libraryimport xml.etree.cElementTree:# ElementTree ট্রি =ET.ElementTree(file=file_name) print(tree.getroot()) root =tree.getroot() প্রিন্ট দিয়ে XML পার্স করুন ("tag=%s, attrib=%s" % (root.tag, root.attrib)) # বাচ্চাদের মাধ্যমে তথ্য পান! প্রিন্ট("-" * 25) প্রিন্ট("পুনরাবৃত্তি ব্যবহার করে getchildren()") print("-" * 25) user =root.getchildren() ব্যবহারকারীদের জন্য:user_children =user.getchildren() user_child-এ user_child এর জন্য:print("%s=%s" % (user_child.tag, user_child.text)) if __name__ =="__main__":parseXML("newdata.xml")

আউটপুট

tag =user, attrib ={}------------------------- Getchildren()- ব্যবহার করে পুনরাবৃত্তি করা ------------------------id =1নাম =রাজেশশালারী =500000id =2bname =টিউটোরিয়ালসপয়েন্টসালারী =500000id =3cname =অন্যান্য বেতন =500000

  1. issuperset() পাইথনে

  2. পাইথন ব্যবহার করে কিভাবে XML তৈরি করবেন?

  3. কিভাবে Python অভিধান থেকে XML তৈরি করবেন?

  4. পাইথন অভিধানকে XML-এ কীভাবে সিরিয়াল করা যায়?