Python XML फ़ाइल – कैसे पढ़ें, लिखें और पार्स करें
एक्सएमएल क्या है?
XML का मतलब है एक्सटेंसिबल मार्कअप लैंग्वेज। इसे छोटे से मध्यम मात्रा में डेटा को स्टोर और ट्रांसपोर्ट करने के लिए डिज़ाइन किया गया था और इसका व्यापक रूप से संरचित जानकारी साझा करने के लिए उपयोग किया जाता है।
Python आपको XML दस्तावेज़ों को पार्स और संशोधित करने में सक्षम बनाता है। XML दस्तावेज़ को पार्स करने के लिए, आपको संपूर्ण XML दस्तावेज़ को मेमोरी में रखना होगा। इस ट्यूटोरियल में, हम देखेंगे कि हम XML मिनीडोम क्लास का उपयोग कैसे कर सकते हैं Python XML फ़ाइलों को लोड और पार्स करने के लिए.
मिनीडोम का उपयोग करके XML को पार्स कैसे करें
हमने एक नमूना XML फ़ाइल बनाई है जिसे हम पार्स करने जा रहे हैं।
चरण 1) नमूना XML फ़ाइल बनाएँ
फ़ाइल के अंदर, हम पहला नाम, अंतिम नाम, घर और विशेषज्ञता का क्षेत्र (SQL, Python, परीक्षण और व्यवसाय)
चरण 2) XML फ़ाइल को लोड और पार्स करने के लिए पार्स फ़ंक्शन का उपयोग करें
एक बार जब हम दस्तावेज़ को पार्स कर लेंगे, तो हम उसका प्रिंट आउट लेंगे “नोड नाम” दस्तावेज़ की जड़ और "प्रथम संतान टैगनाम”टैगनाम और नोडनाम XML फ़ाइल के मानक गुण हैं।
- xml.dom.minidom मॉड्यूल आयात करें और उस फ़ाइल की घोषणा करें जिसे पार्स किया जाना है (myxml.xml)
- इस फ़ाइल में कर्मचारी के बारे में कुछ बुनियादी जानकारी होती है जैसे पहला नाम, अंतिम नाम, घर, विशेषज्ञता आदि।
- हम XML फ़ाइल को लोड करने और पार्स करने के लिए XML मिनीडोम पर पार्स फ़ंक्शन का उपयोग करते हैं
- हमारे पास doc चर है और doc पार्स फ़ंक्शन का परिणाम प्राप्त करता है
- हम फ़ाइल से नोडनाम और चाइल्ड टैगनाम प्रिंट करना चाहते हैं, इसलिए हम इसे प्रिंट फ़ंक्शन में घोषित करते हैं
- कोड चलाएँ- यह XML फ़ाइल से नोडनाम (#document) और XML फ़ाइल से प्रथम चाइल्ड टैगनाम (कर्मचारी) प्रिंट करता है
नोट:
नोडनाम और चाइल्ड टैगनाम XML डोम के मानक नाम या गुण हैं।
चरण 3) XML दस्तावेज़ से XML टैग की सूची को कॉल करें और प्रिंट करें
इसके बाद, हम XML दस्तावेज़ से XML टैग की सूची भी कॉल कर सकते हैं और प्रिंट आउट कर सकते हैं। यहाँ हमने SQL जैसे कौशल के सेट को प्रिंट किया है, Python, परीक्षण और व्यापार.
- परिवर्तनशील विशेषज्ञता की घोषणा करें, जिससे हम कर्मचारी के पास मौजूद सभी विशेषज्ञता को निकालने जा रहे हैं
- “getElementsByTagName” नामक डोम मानक फ़ंक्शन का उपयोग करें
- इससे कौशल नाम के सभी तत्व प्राप्त हो जाएंगे
- प्रत्येक कौशल टैग पर लूप घोषित करें
- कोड चलाएँ- यह चार कौशलों की सूची देगा
XML नोड कैसे लिखें
हम “createElement” फ़ंक्शन का उपयोग करके एक नई विशेषता बना सकते हैं और फिर इस नई विशेषता या टैग को मौजूदा XML टैग में जोड़ सकते हैं। हमने अपनी XML फ़ाइल में एक नया टैग “BigData” जोड़ा है।
- आपको मौजूदा XML टैग में नई विशेषता (BigData) जोड़ने के लिए कोड करना होगा
- फिर, आपको मौजूदा XML टैग के साथ नई विशेषताओं को जोड़कर XML टैग को प्रिंट करना होगा
- नया XML जोड़ने और उसे दस्तावेज़ में जोड़ने के लिए, हम कोड “doc.create elements” का उपयोग करते हैं
- यह कोड हमारी नई विशेषता “बिग-डेटा” के लिए एक नया कौशल टैग बनाएगा
- इस कौशल टैग को दस्तावेज़ के पहले बच्चे (कर्मचारी) में जोड़ें
- कोड चलाएँ- नया टैग “बड़ा डेटा” विशेषज्ञता की अन्य सूची के साथ दिखाई देगा
XML पार्सर उदाहरण
Python 2 उदाहरण
import xml.dom.minidom
def main():
# use the parse() function to load and parse an XML file
doc = xml.dom.minidom.parse("Myxml.xml");
# print out the document node and the name of the first child tag
print doc.nodeName
print doc.firstChild.tagName
# get a list of XML tags from the document and print each one
expertise = doc.getElementsByTagName("expertise")
print "%d expertise:" % expertise.length
for skill in expertise:
print skill.getAttribute("name")
#Write a new XML tag and add it into the document
newexpertise = doc.createElement("expertise")
newexpertise.setAttribute("name", "BigData")
doc.firstChild.appendChild(newexpertise)
print " "
expertise = doc.getElementsByTagName("expertise")
print "%d expertise:" % expertise.length
for skill in expertise:
print skill.getAttribute("name")
if name == "__main__":
main();
Python 3 उदाहरण
import xml.dom.minidom
def main():
# use the parse() function to load and parse an XML file
doc = xml.dom.minidom.parse("Myxml.xml");
# print out the document node and the name of the first child tag
print (doc.nodeName)
print (doc.firstChild.tagName)
# get a list of XML tags from the document and print each one
expertise = doc.getElementsByTagName("expertise")
print ("%d expertise:" % expertise.length)
for skill in expertise:
print (skill.getAttribute("name"))
# Write a new XML tag and add it into the document
newexpertise = doc.createElement("expertise")
newexpertise.setAttribute("name", "BigData")
doc.firstChild.appendChild(newexpertise)
print (" ")
expertise = doc.getElementsByTagName("expertise")
print ("%d expertise:" % expertise.length)
for skill in expertise:
print (skill.getAttribute("name"))
if __name__ == "__main__":
main();
एलिमेंटट्री का उपयोग करके XML को पार्स कैसे करें
ElementTree XML में हेरफेर करने के लिए एक API है। ElementTree XML फ़ाइलों को प्रोसेस करने का आसान तरीका है।
हम नमूना डेटा के रूप में निम्नलिखित XML दस्तावेज़ का उपयोग कर रहे हैं:
<data>
<items>
<item name="expertise1">SQL</item>
<item name="expertise2">Python</item>
</items>
</data>
ElementTree का उपयोग करके XML पढ़ना:
हमें पहले xml.etree.ElementTree मॉड्यूल को आयात करना होगा।
import xml.etree.ElementTree as ET
अब मूल तत्व प्राप्त करें:
root = tree.getroot()
उपरोक्त xml डेटा को पढ़ने के लिए पूरा कोड निम्नलिखित है
import xml.etree.ElementTree as ET
tree = ET.parse('items.xml')
root = tree.getroot()
# all items data
print('Expertise Data:')
for elem in root:
for subelem in elem:
print(subelem.text)
उत्पादन:
Expertise Data: SQL Python
सारांश
Python आपको एक बार में पूरे XML दस्तावेज़ को पार्स करने में सक्षम बनाता है, न कि एक बार में सिर्फ़ एक लाइन को। XML दस्तावेज़ को पार्स करने के लिए आपको पूरे दस्तावेज़ को मेमोरी में रखना होगा।
- XML दस्तावेज़ को पार्स करने के लिए
- xml.dom.minidom आयात करें
- दस्तावेज़ को पार्स करने के लिए “parse” फ़ंक्शन का उपयोग करें ( doc=xml.dom.minidom.parse (फ़ाइल नाम);
- कोड (=doc.getElementsByTagName( “xml टैग का नाम”) का उपयोग करके XML दस्तावेज़ से XML टैग की सूची को कॉल करें
- XML दस्तावेज़ में नई विशेषता बनाने और जोड़ने के लिए
- फ़ंक्शन “createElement” का उपयोग करें




