Python XML پارسنگ: ایک جامع گائیڈ
ایکس ایم ایل (ایکسٹینسیبل مارک اپ لینگویج) ایک مقبول زبان ہے جو ڈیٹا کو ذخیرہ کرنے اور منتقل کرنے کے لیے استعمال ہوتی ہے۔ Python XML کو پارس کرنے کے لیے کئی لائبریریاں فراہم کرتا ہے۔ اس گائیڈ میں، ہم آپ کو XML کو پارس کرنے کے لیے دو بلٹ ان Python لائبریریوں سے ملوائیں گے: xml.dom.minidom اور xml.etree.ElementTree۔
مرحلہ 1: xml.dom.minidom کا استعمال کرتے ہوئے XML پارس کرنا
xml.dom.minidom لائبریری آپ کو XML دستاویزات کو Python کے ساتھ پارس کرنے کی اجازت دیتی ہے۔ XML سٹرنگ کو پارس کرنے کے لیے، parseString طریقہ استعمال کریں:
from xml.dom.minidom import parseString
xml_string = """
<library>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
</library>
"""
document = parseString(xml_string)
print(document.getElementsByTagName("title")[0].firstChild.nodeValue)
اوپر والے کوڈ میں، ہم XML سٹرنگ کو پارس کرتے ہیں اور کتاب کا عنوان نکالتے ہیں۔
مرحلہ 2: xml.etree.ElementTree کا استعمال کرتے ہوئے XML پارس کرنا
xml.etree.ElementTree (ET) لائبریری XML کو پارس کرنے کا ایک مزید Pythonic طریقہ فراہم کرتی ہے۔ XML سٹرنگ کو پارس کرنے کے لیے fromstring طریقہ استعمال کریں:
import xml.etree.ElementTree as ET
xml_string = """
<library>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
</library>
"""
root = ET.fromstring(xml_string)
for child in root.iter():
if child.text.strip():
print(child.text)
اوپر والے کوڈ میں، ہم XML سٹرنگ کو پارس کرتے ہیں اور ہر عنصر کے متن کو پرنٹ کرتے ہیں۔
مرحلہ 3: XML فائلوں کو پارس کرنا
minidom اور ElementTree دونوں ہی تجزیہ کا طریقہ استعمال کرتے ہوئے فائلوں سے XML کو پارس کر سکتے ہیں۔
# Using minidom
from xml.dom.minidom import parse
document = parse("sample.xml")
print(document.getElementsByTagName("title")[0].firstChild.nodeValue)
# Using ElementTree
import xml.etree.ElementTree as ET
root = ET.parse("sample.xml")
for child in root.iter():
if child.text.strip():
print(child.text)
اوپر کا کوڈ یہ ظاہر کرتا ہے کہ کس طرح ایک XML فائل کو پارس کرنا ہے اور کچھ عناصر کو پرنٹ کرنا ہے۔
مرحلہ 4: XML ڈیٹا کو CSV فائل میں محفوظ کرنا
XML کو پارس کرنے کے بعد، آپ پانڈاس لائبریری کا استعمال کرتے ہوئے ڈیٹا کو CSV فائل میں محفوظ کر سکتے ہیں:
import pandas as pd
parsed_dict = {
"title": ["The Great Gatsby"],
"author": ["F. Scott Fitzgerald"],
"year": [1925]
}
df = pd.DataFrame(parsed_dict)
df.to_csv("parsed_xml_data.csv", index=False)
مرحلہ 5: غلط XML کو ہینڈل کرنا
Beautiful Soup لائبریری XML دستاویزات کو پارس کر سکتی ہے جن میں غلطیاں ہو سکتی ہیں:
from bs4 import BeautifulSoup
invalid_xml = """
<root>
<person>
<name>John Doe</name>
<message>This is a message & an invalid XML example.</message>
</person>
</root>
"""
soup = BeautifulSoup(invalid_xml, features="lxml-xml")
print(soup.prettify())
خوبصورت سوپ غلط XML کو سنبھال سکتا ہے، لیکن یہ دیگر XML پارسنگ لائبریریوں سے سست ہے۔
تبصرے (0)
یہاں ابھی تک کوئی تبصرہ نہیں ہے، آپ پہلے ہو سکتے ہیں!