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

पायथन में XML प्रोसेसिंग मॉड्यूल: ElementTree और DOM

XML अवलोकन

XML (Extensible Markup Language) संरचित डेटा के लिए मानक फॉर्मेट है। पायथन में दो मुख्य पार्सर हैं: ElementTree (सरल, पायथनिक) और DOM (विशिष्ट, ट्री-आधारित)।

नमूना XML (TutorialsList.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">...</Tutorial>
  <Tutorial id="Tu103">...</Tutorial>
</Tutorials>

1. xml.etree.ElementTree (सुझावित)

पार्सिंग और सामग्री पढ़ना

import xml.etree.ElementTree as ET

tree = ET.parse('TutorialsList.xml')
root = tree.getroot()

print("ट्यूटोरियल सूची:")
for tutorial in root:
    for child in tutorial:
        print(f"{child.tag}: {child.text}")

आउटपुट

author: Vicky, Matthew
title: Geo-Spatial Data Analysis
stream: Python
price: 4.95
publish_date: 2020-07-01
description: Learn geo Spatial data Analysis using Python.
... (बाकी ट्यूटोरियल)

एट्रिब्यूट्स प्राप्त करना

for tutorial in root.iter('Tutorial'):
    print(tutorial.attrib)  # {'id': 'Tu101'}, आदि

फिल्टरिंग (XPath-जैसा)

# कीमत 12.03 वाले ट्यूटोरियल
for tutorial in root.findall("./Tutorial/[price='12.03']"):
    print(tutorial.attrib)  # {'id': 'Tu102'}

2. xml.dom.minidom (DOM API)

from xml.dom.minidom import parse

DOMTree = parse('TutorialsList.xml')
collection = DOMTree.documentElement

tutorials = collection.getElementsByTagName("Tutorial")
print("***** ट्यूटोरियल *****")

for tut in tutorials:
    stream = tut.getElementsByTagName('stream')[0]
    price = tut.getElementsByTagName('price')[0]
    print(f"Stream: {stream.childNodes[0].data}")
    print(f"Price: {price.childNodes[0].data}")

आउटपुट

***** ट्यूटोरियल *****
Stream: Python
Price: 4.95
Stream: Computer Science
Price: 12.03
Stream: Data Science
Price: 7.11

कौन सा चुनें?

विशेषताElementTreeminidom
API शैलीपायथनिक, सरलW3C DOM मानक
मेमोरीकम (इटरेटिव पार्सिंग संभव)पूरा ट्री मेमोरी में
XPath समर्थनसीमित (findall)बेहतर (xpath मॉड्यूल के साथ)
उपयोगअधिकांश कार्यों के लिएजटिल DOM मैनिपुलेशन

सलाह: नए प्रोजेक्ट्स के लिए lxml लाइब्रेरी (तेज़, पूर्ण XPath) या बिल्ट-इन ElementTree उपयोग करें।

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

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

  1. पायथन में XML पार्सिंग: ElementTree के साथ पायथन में XML पार्सिंग: ElementTree के साथ

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

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

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