पायथन एक्सएमएल पार्सिंग: एक व्यापक गाइड
XML (एक्स्टेंसिबल मार्कअप लैंग्वेज) एक लोकप्रिय भाषा है जिसका उपयोग डेटा को संग्रहीत और स्थानांतरित करने के लिए किया जाता है। पायथन XML को पार्स करने के लिए कई लाइब्रेरी प्रदान करता है। इस गाइड में, हम आपको XML को पार्स करने के लिए दो अंतर्निहित पायथन लाइब्रेरी से परिचित कराएंगे: xml.dom.minidom और xml.etree.ElementTree।
चरण 1: xml.dom.minidom का उपयोग करके XML पार्सिंग
Xml.dom.minidom लाइब्रेरी आपको Python के साथ XML दस्तावेज़ों को पार्स करने की अनुमति देती है। XML स्ट्रिंग को पार्स करने के लिए, पार्सस्ट्रिंग विधि का उपयोग करें:
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 को पार्स करने के लिए अधिक पायथोनिक तरीका प्रदान करती है। 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 फ़ाइलों को पार्स करना
मिनीडॉम और एलिमेंटट्री दोनों पार्स विधि का उपयोग करके फ़ाइलों से 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 को संभालना
ब्यूटीफुल सूप लाइब्रेरी उन 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)
यहां अभी तक कोई टिप्पणी नहीं है, आप पहले हो सकते हैं!