ur
English
Español
中國人
Tiếng Việt
Deutsch
Українська
Português
Français
भारतीय
Türkçe
한국인
Italiano
Gaeilge
Indonesia
Polski Python ڈویلپرز کے لیے XML کو پارس کرنا ایک عام کام ہے جب وہ ڈیٹا ایکسچینج، کنفیگریشن فائلوں اور API جوابات کے ساتھ کام کر رہے ہوتے ہیں۔ XML (eXtensible Markup Language) ایک ساختہ، ٹیگ پر مبنی فارمیٹ فراہم کرتا ہے جو مشین اور انسان دونوں کے لیے پڑھنے کے قابل ہوتا ہے۔ چاہے آپ کوئی انٹیگریشن سروس بنا رہے ہوں یا اینالیٹکس کے لیے ڈیٹا صاف کر رہے ہوں، python xml parser library کا مؤثر استعمال آپ کے ورک فلو کو نمایاں طور پر بہتر بنا سکتا ہے۔
XML ایک مارک اپ زبان ہے جو ڈیٹا کو درخت نما ساخت میں محفوظ کرتی ہے جس میں نیسٹڈ عناصر ہوتے ہیں۔ ہر ڈیٹا آئٹم کو اوپننگ اور کلوزنگ ٹیگز میں لپیٹا جاتا ہے، جن میں صفات (attributes) ہوسکتی ہیں۔ مثال کے طور پر:
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
</data>
ڈویلپرز کو اکثر Python میں XML کو پارس کرنے کی ضرورت ہوتی ہے جب وہ APIs، ڈیٹا مائیگریشن یا کنفیگریشن سیٹنگز کے ساتھ کام کرتے ہیں۔ JSON کے برعکس، XML میں namespaces، مخلوط مواد، اور گہرے نیسٹڈ ڈھانچے شامل ہوسکتے ہیں، جو مناسب ٹولز کے بغیر پارس کرنا زیادہ پیچیدہ بنا دیتے ہیں۔
صحیح Python XML parser library کا انتخاب آپ کے استعمال کے کیس پر منحصر ہے:
ElementTree (بلٹ اِن): سادہ اور تیز، چھوٹی سے درمیانی XML فائلوں کے لیے موزوں۔ import xml.etree.ElementTree as ET
minidom (بلٹ اِن): مکمل DOM ماڈل فراہم کرتا ہے، درخت کو درست طریقے سے منیپولیٹ کرنے کے لیے مفید۔ from xml.dom.minidom import parseString
BeautifulSoup (تھرڈ پارٹی): لچکدار پارسر، خراب یا نامکمل XML کے لیے مفید۔ from bs4 import BeautifulSoup
lxml (تھرڈ پارٹی): تیز اور طاقتور، XPath اور schema validation کو سپورٹ کرتا ہے۔ from lxml import etree
کئی حقیقی دنیا کے مناظر میں، XML ڈیٹا فائلوں میں محفوظ کیا جاتا ہے — چاہے وہ ایکسپورٹ شدہ رپورٹس ہوں، کنفیگریشن فائلیں، یا دوسرے سسٹمز سے ڈیٹا فیڈز۔ Python متعدد اختیارات فراہم کرتا ہے، اور عام طور پر استعمال ہونے والی python xml parser library ان فائلوں کو کھولنا اور معلومات نکالنا آسان بناتی ہے۔ نیچے مختلف طریقوں سے مقامی فائلوں سے XML پارس کرنے کی مثالیں دی گئی ہیں۔
XML فائل پڑھنے کے لیے Python صارفین عام طور پر ElementTree سے شروع کرتے ہیں:
import xml.etree.ElementTree as ET
tree = ET.parse('example.xml')
root = tree.getroot()
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
print(f"Name: {name}, Price: {price}")
minidom کے ساتھ، آپ DOM درخت کے ساتھ کام کرتے ہیں:
from xml.dom.minidom import parse
dom = parse('example.xml')
items = dom.getElementsByTagName('item')
for item in items:
name = item.getElementsByTagName('name')[0].firstChild.data
price = item.getElementsByTagName('price')[0].firstChild.data
print(f"Name: {name}, Price: {price}")
XML سے معلومات نکالنے کے بعد، ڈیٹا کو Python کے لیے موزوں فارمیٹس میں تبدیل کرنا اکثر مفید ہوتا ہے۔ python xml parser library کا استعمال کرتے ہوئے، آپ آسانی سے XML کو ڈکشنری یا ڈیٹا فریمز میں تبدیل کر سکتے ہیں، جس سے ڈیٹا کو پروسیس کرنا، تجزیہ کرنا یا دیگر ٹولز کے ساتھ ضم کرنا آسان ہو جاتا ہے۔ نیچے دو عام طریقے ہیں: XML کو ہلکی پروسیسنگ کے لیے ڈکشنری میں تبدیل کرنا، اور XML کو pandas کے ساتھ ساختہ تجزیہ کے لیے CSV میں ایکسپورٹ کرنا۔
آپ recursive فنکشن استعمال کر کے XML کو ڈکشنری میں تبدیل کر سکتے ہیں۔ یہ JSON جیسے ڈیٹا ڈھانچوں کے ساتھ کام کرتے وقت مددگار ہوتا ہے:
import xml.etree.ElementTree as ET
def xml_to_dict(element):
if len(element) == 0:
return element.text
return {child.tag: xml_to_dict(child) for child in element}
xml_data = ET.fromstring('<data><item><name>Item</name></item></data>')
print(xml_to_dict(xml_data))
یہ python xml parser کی ایک عملی مثال ہے جب ساختہ ڈیٹا کو Python کے مقامی فارمیٹس میں تبدیل کیا جاتا ہے۔
import pandas as pd
import xml.etree.ElementTree as ET
tree = ET.parse('example.xml')
root = tree.getroot()
rows = []
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
rows.append({'name': name, 'price': price})
df = pd.DataFrame(rows)
df.to_csv('output.csv', index=False)
جب XML خراب ہو یا جزوی طور پر ڈاؤن لوڈ ہو، تو لچکدار ہینڈلنگ کے لیے lxml یا BeautifulSoup استعمال کریں:
from bs4 import BeautifulSoup
try:
soup = BeautifulSoup(broken_xml, 'xml')
except Exception as e:
print("Error parsing XML:", e)
یہ حکمت عملی خاص طور پر اس وقت مفید ہے جب آپ ویب اسکریپنگ کے کاموں میں XML Python BeautifulSoup کا استعمال کرتے ہیں۔
کچھ عام مسائل میں شامل ہیں:
درست python xml module کا استعمال اور محتاط پری پروسیسنگ ان غلطیوں سے بچنے میں مدد کرتی ہے۔
براہ راست URL سے XML پارس کرنے کے لیے، parser کے ساتھ requests کا استعمال کریں:
import requests
from bs4 import BeautifulSoup
url = "https://httpbin.org/xml"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'xml')
for slide in soup.find_all('slide'):
title = slide.find('title').text
print(f"Title: {title}")
یہ تکنیک APIs یا RSS فیڈز کے ساتھ کام کرتے وقت بھی مددگار ہے۔ یہ ویب سے براہ راست XML فائلوں کو پارس کرنے کے لیے python کوڈ کی ایک مثال ہے۔
Python XML کو سنبھالنے کے لیے مختلف ٹولز فراہم کرتا ہے — بنیادی کاموں سے لے کر پیچیدہ پروسیسنگ تک۔ اگر آپ بہترین Python XML parser کی تلاش میں ہیں، تو رفتار کے لیے lxml، لچک کے لیے BeautifulSoup، اور سادگی کے لیے ElementTree پر غور کریں۔ آپ کا انتخاب آپ کے ڈیٹا کے ڈھانچے اور قابلِ اعتماد ضرورتوں پر منحصر ہے۔ Python میں XML کو پارس کرنا سیکھنا آپ کو بیرونی ڈیٹا، APIs، اور پرانے سسٹمز کے ساتھ کام کرنے کے لیے ضروری مہارتیں فراہم کرتا ہے۔
تبصرے: 0