Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में एक्सएमएल प्रोसेसिंग मॉड्यूल

XML का मतलब "एक्सटेंसिबल मार्कअप लैंग्वेज" है। यह मुख्य रूप से वेबपेजों में उपयोग किया जाता है, जहां डेटा की एक विशिष्ट संरचना होती है। इसमें तत्व होते हैं, जो एक शुरुआत और एक अंत टैग द्वारा परिभाषित होते हैं। एक टैग एक मार्कअप निर्माण है जो <से शुरू होता है और> के साथ समाप्त होता है। स्टार्ट-टैग और एंड-टैग के बीच के अक्षर तत्व की सामग्री हैं। तत्वों में अन्य तत्व हो सकते हैं, जिन्हें "बाल तत्व" कहा जाता है।

उदाहरण

नीचे एक XML फ़ाइल का उदाहरण दिया गया है जिसका उपयोग हम इस ट्यूटोरियल में करने जा रहे हैं।

<?xml version="1.0"?>
<Tutorials>
   <Tutorial id="Tu101">
      <author>Vicky, Matthew</author>
      <title>Geo-Spatial Data Analysis</title>
      <stream>Python</stream>
      <price>4.95</price>
      <publish_date>2020-07-01</publish_date>
      <description>Learn geo Spatial data Analysis using Python.</description>
   </Tutorial>
   <Tutorial id="Tu102">
      <author>Bolan, Kim</author>
      <title>Data Structures</title>
      <stream>Computer Science</stream>
      <price>12.03</price>
      <publish_date>2020-1-19</publish_date>
      <description>Learn Data structures using different programming lanuages.</description>
   </Tutorial>
   <Tutorial id="Tu103">
      <author>Sora, Everest</author>
      <title>Analytics using Tensorflow</title>
      <stream>Data Science</stream>
      <price>7.11</price>
      <publish_date>2020-1-19</publish_date>
      <description>Learn Data analytics using Tensorflow.</description>
   </Tutorial>
</Tutorials>

Xml.etree.ElementTree का उपयोग करके xml पढ़ना

यह मॉड्यूल xml फ़ाइल की जड़ तक पहुँच प्रदान करता है और फिर हम आंतरिक तत्वों की सामग्री तक पहुँच सकते हैं। नीचे दिए गए उदाहरण में हम टेक्स्ट नामक विशेषता का उपयोग करते हैं और उन तत्वों की सामग्री प्राप्त करते हैं।

उदाहरण

import xml.etree.ElementTree as ET
xml_tree = ET.parse('E:\\TutorialsList.xml')
xml_root = xml_tree.getroot()
# Header
print('Tutorial List :')
for xml_elmt in xml_root:
   for inner_elmt in xml_elmt:
      print(inner_elmt.text)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

Tutorial List :
Vicky, Matthew
Geo-Spatial Data Analysis
Python
4.95
2020-07-01
Learn geo Spatial data Analysis using Python.
Bolan, Kim
Data Structures
Computer Science
12.03
2020-1-19
Learn Data structures using different programming lanuages.
Sora, Everest
Analytics using Tensorflow
Data Science
7.11
2020-1-19
Learn Data analytics using Tensorflow.

xml विशेषताएँ प्राप्त करना

हम रूट टैग में विशेषताओं और उनके मूल्यों की सूची प्राप्त कर सकते हैं। एक बार जब हमें विशेषताएँ मिल जाती हैं, तो यह हमें XML ट्री को आसानी से नेविगेट करने में मदद करती है।

उदाहरण

import xml.etree.ElementTree as ET
xml_tree = ET.parse('E:\\TutorialsList.xml')
xml_root = xml_tree.getroot()
# Header
print('Tutorial List :')
for movie in xml_root.iter('Tutorial'):
   print(movie.attrib)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

Tutorial List :
{'id': 'Tu101'}
{'id': 'Tu102'}
{'id': 'Tu103'}

परिणाम फ़िल्टर करना

हम इस मॉड्यूल के फाइंडॉल () फ़ंक्शन का उपयोग करके परिणामों को xml ट्री से फ़िल्टर भी कर सकते हैं। नीचे दिए गए उदाहरण में हम उस ट्यूटोरियल की आईडी ढूंढते हैं जिसकी कीमत 12.03 है।

उदाहरण

import xml.etree.ElementTree as ET
xml_tree = ET.parse('E:\\TutorialsList.xml')
xml_root = xml_tree.getroot()
# Header
print('Tutorial List :')
for movie in xml_root.findall("./Tutorial/[price ='12.03']"):
   print(movie.attrib)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

Tutorial List :
{'id': 'Tu102'}

XML को DOM API से पार्स करना

हम xml.dom मॉड्यूल का उपयोग करके एक मिनीडोम ऑब्जेक्ट बनाते हैं। मिनीडॉम ऑब्जेक्ट एक सरल पार्सर विधि प्रदान करता है जो जल्दी से XML फ़ाइल से एक DOM ट्री बनाता है। नमूना वाक्यांश एक DOM ट्री ऑब्जेक्ट में फ़ाइल द्वारा निर्दिष्ट XML फ़ाइल को पार्स करने के लिए मिनीडॉम ऑब्जेक्ट के पार्स (फ़ाइल [, पार्सर]) फ़ंक्शन को कॉल करता है।

उदाहरण

from xml.dom.minidom import parse
import xml.dom.minidom

# Open XML document using minidom parser
DOMTree = xml.dom.minidom.parse('E:\\TutorialsList.xml')
collection = DOMTree.documentElement

# Get all the movies in the collection
tut_list = collection.getElementsByTagName("Tutorial")

print("*****Tutorials*****")
# Print details of each Tutorial.
for tut in tut_list:

   strm = tut.getElementsByTagName('stream')[0]
   print("Stream: ",strm.childNodes[0].data)

   prc = tut.getElementsByTagName('price')[0]
   print("Price: ", prc.childNodes[0].data)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

*****Tutorials*****
Stream: Python
Price: 4.95
Stream: Computer Science
Price: 12.03
Stream: Data Science
Price: 7.11

  1. पायथन में जनगणना के आंकड़ों का विश्लेषण

    जनगणना किसी दी गई आबादी के बारे में व्यवस्थित तरीके से जानकारी दर्ज करने के बारे में है। कैप्चर किए गए डेटा में विभिन्न श्रेणी की जानकारी शामिल होती है जैसे - जनसांख्यिकीय, आर्थिक, आवास विवरण आदि। यह अंततः सरकार को वर्तमान परिदृश्य को समझने के साथ-साथ भविष्य के लिए योजना बनाने में मदद करता है। इस ले

  1. पायथन में एक्सएमएल पार्सिंग?

    पायथन एक्सएमएल पार्सर पार्सर एक्सएमएल फाइल से उपयोगी जानकारी को पढ़ने और निकालने का सबसे आसान तरीका प्रदान करता है। इस संक्षिप्त ट्यूटोरियल में हम यह देखने जा रहे हैं कि कैसे हम XML फ़ाइल को पार्स कर सकते हैं, संशोधित कर सकते हैं और अजगर ElementTree XML API का उपयोग करके XML दस्तावेज़ बना सकते हैं।

  1. पायथन में इमेज प्रोसेसिंग?

    पायथन इमेज प्रोसेसिंग के लिए बहुत सारी लाइब्रेरी प्रदान करता है, जिसमें − . भी शामिल है ओपनसीवी - इमेज प्रोसेसिंग लाइब्रेरी मुख्य रूप से 2डी और 3डी फीचर टूलकिट, फेशियल और जेस्चर रिकॉग्निशन, ह्यूमन-कंप्यूटर इंटरेक्शन, मोबाइल रोबोटिक्स, ऑब्जेक्ट आइडेंटिफिकेशन और अन्य जैसे व्यापक क्षेत्रों में एप्लि