XML ، یا قابل توسیع مارک اپ زبان ، ایک ورسٹائل مارک اپ زبان ہے جو عام طور پر دستاویزات کو انکوڈنگ کے لئے کسی شکل میں استعمال کرتی ہے جو انسانی پڑھنے کے قابل اور مشین پڑھنے کے قابل ہے۔ اس فارمیٹ کو ڈیٹا کی منتقلی ، کنفیگریشن فائلیں بنانے ، اور ویب سروسز تیار کرنے کے لئے بڑے پیمانے پر استعمال کیا گیا ہے۔
XML دستاویزات میں ، عناصر کو ٹیگز کے اندر انکپولیٹ کیا جاتا ہے جو ہر عنصر کے آغاز اور اختتام کی نشاندہی کرتے ہیں ، جو اعداد و شمار کے لئے واضح ڈھانچہ فراہم کرتے ہیں۔
XML کی مثال:
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
اس مضمون میں مختلف لائبریریوں اور ازگر میں XML کی تجزیہ کے ل available دستیاب طریقوں کی کھوج کی گئی ہے۔
اس کے بعد ، ہم ازگر میں XML ڈیٹا نکالنے کے لئے دستیاب مختلف لائبریریوں کو تلاش کریں گے ، اور XML دستاویزات کے ساتھ کام کرنے کے ل your اپنے ماحول کو مرتب کرنے کے لئے انسٹالیشن کے عمل میں آپ کی رہنمائی کریں گے۔
xml.etree.elementtree XML ڈیٹا کو تجزیہ کرنے اور بنانے کے لئے ایک معیاری لائبریری ماڈیول ہے۔ یہ تار اور فائلوں سے XML کی تجزیہ کرنے اور XML دستاویزات بنانے کے لئے ایک موثر اور سیدھا سیدھا API فراہم کرتا ہے۔
بنیادی مثال:
import xml.etree.ElementTree as ET
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
root = ET.fromstring(xml_data)
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
print(f'Name: {name}, Price: {price}')
آؤٹ پٹ:
xml.dom.minidom ایک اور بلٹ ان ازگر لائبریری ہے جو XML کی DOM (دستاویز آبجیکٹ ماڈل) نمائندگی فراہم کرتی ہے۔ یہ لائبریری مزید تفصیلی XML ہیرا پھیری کی اجازت دیتی ہے۔
بنیادی مثال:
from xml.dom.minidom import parseString
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
dom = parseString(xml_data)
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}')
آؤٹ پٹ:
بیوٹیو سوپ HTML اور XML دستاویزات کی تجزیہ کرنے کے لئے ایک مشہور لائبریری ہے۔ یہ خاص طور پر ویب ڈیٹا کو کھرچنے اور ناقص تشکیل شدہ XML کو سنبھالنے کے لئے مفید ہے۔
بنیادی مثال:
from bs4 import BeautifulSoup
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
soup = BeautifulSoup(xml_data, 'xml')
items = soup.find_all('item')
for item in items:
name = item.find('name').text
price = item.find('price').text
print(f'Name: {name}, Price: {price}')
آؤٹ پٹ:
ایل ایکس ایم ایل ایک طاقتور لائبریری ہے جو ایلب ایکس ایم ایل 2 لائبریری کی رفتار اور خصوصیات کے ساتھ عنصر ٹری کے استعمال میں آسانی کو جوڑتی ہے۔ یہ XML اور HTML پارسنگ دونوں کی حمایت کرتا ہے۔
بنیادی مثال:
from lxml import etree
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
root = etree.fromstring(xml_data)
items = root.findall('item')
for item in items:
name = item.find('name').text
price = item.find('price').text
print(f'Name: {name}, Price: {price}')
آؤٹ پٹ:
XML کو لغت میں تبدیل کرنا زیادہ لچک کے ساتھ XML ڈیٹا کو جوڑ توڑ اور پروسیسنگ کے لئے کارآمد ثابت ہوسکتا ہے۔
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 = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
root = ET.fromstring(xml_data)
data_dict = xml_to_dict(root)
print(data_dict)
آؤٹ پٹ:
ڈیٹا کو XML سے CSV فارمیٹ میں تبدیل کرنا ڈیٹا کا تجزیہ اور اسٹور کرنے کے عمل کو آسان بناتا ہے ، جس سے اسپریڈشیٹ ایپلی کیشنز کے ساتھ مربوط ہونا اور ڈیٹا کو مؤثر طریقے سے تصور کرنے کی صلاحیت کو بڑھانا آسان ہوجاتا ہے۔
import csv
import xml.etree.ElementTree as ET
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
root = ET.fromstring(xml_data)
with open('output.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Name', 'Price'])
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
writer.writerow([name, price])
جب XML کو پارس کرتے ہو تو ، اس بات کو یقینی بنانے کے لئے غلطیوں کو سنبھالنا بہت ضروری ہے کہ آپ کا کوڈ غیر متوقع یا خراب ڈیٹا کو خوبصورتی سے منظم کرسکتا ہے۔
import xml.etree.ElementTree as ET
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
try:
root = ET.fromstring(xml_data)
except ET.ParseError as e:
print(f'Error parsing XML: {e}')
یو آر ایل سے ایکس ایم ایل ڈیٹا کو پارس کرنے کے لئے بیوٹیف سوپ کا استعمال کرتے ہوئے ایک عملی مثال یہ ہے:
import requests # HTTP درخواستیں کرنے کے لئے درخواستوں کی لائبریری کی درآمد کرنا
from bs4 import BeautifulSoup # XML کو پارس کرنے کے لئے BS4 لائبریری سے BuilitySoup کی درآمد کرنا
# XML ڈیٹا کے URL کی وضاحت کریں
url = "https://httpbin.org/xml"
# یو آر ایل کو گیٹ کی درخواست بھیجیں
response = requests.get(url)
#خوبصورت سوپ کا استعمال کرتے ہوئے ردعمل کے XML مواد کی تجزیہ کریں
soup = BeautifulSoup(response.content, 'xml')
# XML میں تمام 'سلائیڈ' عناصر کے ذریعے لوپ
for slide in soup.find_all('slide'):
# ہر 'سلائیڈ' کے اندر 'عنوان' عنصر تلاش کریں اور اس کا متن حاصل کریں
title = slide.find('title').text
# عنوان متن پرنٹ کریں
print(f'Title: {title}')
آؤٹ پٹ:
مختلف ایپلی کیشنز ویب سروسز سے لے کر کنفیگریشن فائلوں تک کے ابتدائی ڈیٹا فارمیٹ XML کا استعمال کرتے ہیں۔ ازگر میں XML ڈیٹا پارسنگ کے ساتھ ساتھ ہیرا پھیری کے ل numerous متعدد مضبوط لائبریریوں کی خصوصیات ہیں۔ ازگر کے پاس XML ڈیٹا کے لئے ایک جامع لائبریری موجود ہے جس میں تجزیہ کیا گیا ہے کہ آیا کسی کو بنیادی ڈیٹا مائننگ کی ضرورت ہے یا دستاویز پروسیسنگ میں وسیع پیمانے پر۔ ازگر ویب ڈویلپرز کی لازمی قابلیت ڈیٹا انٹرچینج اور ویب سکریپنگ دونوں کے لئے XML کوڈ کرنا ضروری ہے۔
تبصرے: 0