१. परिचय
पायथन एक लचिलो प्रोग्रामिङ भाषा हो जसले विभिन्न डाटा ढाँचाहरूलाई सजिलै ह्यान्डल गर्न सक्छ। तिनीहरू मध्ये, XML (विस्तार योग्य मार्कअप भाषा) संरचित डाटा आदानप्रदान र भण्डारणका लागि सामान्य रूपमा प्रयोग गरिन्छ, र API प्रतिक्रियाहरू र कन्फिगरेसन फाइलहरूमा व्यापक रूपमा प्रयोग गरिन्छ। पायथनमा, तपाईं स्ट्यान्डर्ड लाइब्रेरी वा तेस्रो-पक्ष लाइब्रेरीहरू प्रयोग गरेर XML सँग सजिलै काम गर्न सक्नुहुन्छ। यो लेखले पायथन प्रयोग गरेर आधारभूत देखि उन्नत XML अपरेसनहरू सम्म सबै कुरा स्पष्ट रूपमा व्याख्या गर्दछ।
२. XML ह्यान्डल गर्न पायथन लाइब्रेरीहरूको परिचय
२.१ स्ट्यान्डर्ड लाइब्रेरी: xml.etree.ElementTree
पायथनको स्ट्यान्डर्ड लाइब्रेरी xml.etree.ElementTree XML फाइलहरू पढ्न र लेख्न सजिलो बनाउने एक सुविधाजनक उपकरण हो, साथै रूख संरचनाहरू अन्वेषण र सम्पादन गर्न।
- आधारभूत पार्सिङ :
import xml.etree.ElementTree as ET tree = ET.parse('data.xml') root = tree.getroot() print(root.tag) # Output: "data"यो कोडमा, data.xml नामक XML फाइल पढिन्छ, र रूट तत्वको ट्याग प्रदर्शित गरिन्छ। तपाईंले उत्पादन परिणाम"data"भएको पुष्टि गर्न सक्नुहुन्छ। - फाइल अस्तित्व नभएको अवस्थामा त्रुटि ह्यान्डलिङ :
यदि फाइल अस्तित्वमा छैन भने, FileNotFoundError उत्पन्न हुनेछ, त्यसैले तपाईं निम्नानुसार अपवाद ह्यान्डलिङ थप्न सक्नुहुन्छ:
try: tree = ET.parse('data.xml') root = tree.getroot() except FileNotFoundError: print("File not found.")
२.२ बाह्य लाइब्रेरी: lxml
उन्नत XML अपरेसनहरूका लागि, lxml लाइब्रेरी सिफारिस गरिन्छ। lxml ले XPath र XSLT सँग शक्तिशाली XML प्रोसेसिङ समर्थन गर्दछ, जसले स्ट्यान्डर्ड लाइब्रेरीसँग कठिन कार्यहरू सजिलै गर्न सकिन्छ।
- XPath प्रयोग गरेर तत्वहरू प्राप्त गर्दै :
from lxml import etree tree = etree.parse('data.xml') countries = tree.xpath('//country[@name="Liechtenstein"]') print(countries[0].tag) # Output: "country"यो कोडमा, विशेषता name=”Liechtenstein” भएको country तत्व प्राप्त गरिन्छ।

३. XML पार्सिङ र हेरफेर
३.१ आधारभूत पार्सिङ चरणहरू
XML फाइल पार्स गर्न र यसको रूख संरचना सँग काम गर्न, xml.etree.ElementTree को parse() प्रयोग गर्नुहोस्। यो विधिले XML फाइल पढ्छ र रूखको रूट तत्व प्राप्त गर्दछ।
- फाइलबाट पार्सिङ :
import xml.etree.ElementTree as ET tree = ET.parse('example.xml') root = tree.getroot() print(root.tag) # Output: "rootTag"यो कोडमा, यो XML फाइलexample.xmlपढ्छ र रूट तत्वको ट्याग नाम प्रदर्शित गर्दछ।
३.२ तत्वहरू खोजी र विशेषताहरू हेरफेर
XML तत्वहरू खोज्न, find() वा findall() प्रयोग गर्नुहोस्। यसले तपाईंलाई विशिष्ट तत्वहरू वा विशेषताहरू सजिलै प्राप्त गर्न अनुमति दिन्छ।
- तत्वहरू खोजी र विशेषताहरू प्राप्त गर्दै :
country = root.find('country') print(country.get('name')) # Output: "Liechtenstein" - विशेषताहरू हेरफेर गर्दै :
XML तत्वको विशेषताहरू हेरफेर गर्न,
get()सँग तिनीहरूलाई प्राप्त गर्नुहोस् रset()सँग सेट गर्नुहोस्।country.set('currency', 'CHF') print(country.attrib) # Output: {'name': 'Liechtenstein', 'currency': 'CHF'}
४. XML सम्पादन र बचत
४.१ तत्वहरू सम्पादन गर्ने तरिका
तपाईं XML तत्वहरूको पाठ वा विशेषताहरू परिवर्तन गरेर XML फाइलको सामग्री सम्पादन गर्न सक्नुहुन्छ। उदाहरणका लागि, तत्वको पाठ परिवर्तन गर्न, तपाईं निम्नानुसार गर्न सक्नुहुन्छ:
- तत्व पाठ सम्पादन :
rank = root.find('.rank') rank.text = '2' print(rank.text) # Output: "2"
४.२ XML फाइलमा लेख्दै
परिवर्तित XML लाई फाइलमा बचत गर्न, write() विधि प्रयोग गर्नुहोस्।
- XML बचत :
tree.write('updated_data.xml')

५. बाह्य लाइब्रेरीहरूसँग उन्नत प्रोसेसिङ
५.१ lxml प्रयोग गरेर उन्नत XML हेरफेर
lxml लाइब्रेरी प्रयोग गरेर, तपाईं XPath सँग जटिल खोजीहरू गर्न सक्नुहुन्छ र XSLT प्रयोग गरेर XML लाई अन्य ढाँचाहरूमा रूपान्तरण गर्न सक्नुहुन्छ।
- XPath सँग तत्वहरू खोज्दै :
from lxml import etree tree = etree.parse('data.xml') countries = tree.xpath('//country') for country in countries: print(country.get('name'))
५.२ XSLT सँग XML रूपान्तरण
यहाँ XSLT प्रयोग गरेर XML लाई HTML मा रूपान्तरण गर्ने उदाहरण छ।
- XML देखि HTML रूपान्तरण :
from lxml import etree xml_tree = etree.parse('data.xml') xsl_tree = etree.parse('style.xsl') transform = etree.XSLT(xsl_tree) result_tree = transform(xml_tree) result_tree.write('output.html', pretty_print=True)
6. अभ्यास: नमुना कोड र व्याख्या
6.1 XML बाट डेटा निकाल्ने उदाहरण
यो एउटा नमुना कोड हो जसले XML फाइलबाट डेटा निकाल्छ र विशेष जानकारी देखाउँछ।
- नमुना कोड :
import xml.etree.ElementTree as ET tree = ET.parse('data.xml') root = tree.getroot() for country in root.findall('country'): name = country.get('name') rank = country.find('rank').text print(f"Country: {name}, Rank: {rank}")
6.2 XML सम्पादन र बचत गर्ने उदाहरण
यो एउटा नमुना कोड हो जसले XML तत्वहरूको मानहरू सम्पादन गर्छ र परिवर्तनहरू बचत गर्छ।
- नमुना कोड :
import xml.etree.ElementTree as ET tree = ET.parse('data.xml') root = tree.getroot() rank = root.find('.//rank') rank.text = '2' tree.write('updated_data.xml')
7. सारांश
Python मा XML सँग काम गर्दा, मानक पुस्तकालय xml.etree.ElementTree प्रयोग गर्दा आधारभूत XML हेरफेर सजिलो हुन्छ। साथै, lxml प्रयोग गर्दा XPath र XSLT जस्ता उन्नत कार्यहरू सम्भव हुन्छ। लेखमा प्रस्तुत कोडलाई सन्दर्भ गरी आफैं XML लाई हेरफेर गर्ने प्रयास गर्नुहोस्।



