πŸ”Ž Как Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ xml с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° 🐍

Как Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ XML Π² Python?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ XML-Ρ„Π°ΠΉΠ» Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ xml.etree.ElementTree. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ позволяСт Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ XML-структуры ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с содСрТимым.

Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ XML-Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΅Π³ΠΎ содСрТимому:


import xml.etree.ElementTree as ET

# ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML-Ρ„Π°ΠΉΠ»
tree = ET.parse('example.xml')

# ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт
root = tree.getroot()

# ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту
for elem in root:
    # Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ элСмСнта ΠΈ Π΅Π³ΠΎ значСния
    print(elem.tag, elem.text)

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 'example.xml' Π½Π° ΠΏΡƒΡ‚ΡŒ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ XML-Ρ„Π°ΠΉΠ»Ρƒ.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π΅Π³ ΠΈ тСкст ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² XML-Ρ„Π°ΠΉΠ»Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ модуля xml.etree.ElementTree, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ XML.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ XML Ρ„Π°ΠΉΠ»Ρ‹ Π² Python?

XML (eXtensible Markup Language) являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ XML Ρ„Π°ΠΉΠ»Ρ‹ Π² Python ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, содСрТащимися Π² Π½ΠΈΡ….

1. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ElementTree

Одним ΠΈΠ· способов Ρ€Π°Π±ΠΎΡ‚Ρ‹ с XML Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Python являСтся использованиС встроСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ElementTree. Для Π½Π°Ρ‡Π°Π»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ:

        
            import xml.etree.ElementTree as ET
        
    

ПослС ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ XML Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π΅Π³ΠΎ содСрТимому. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅:

        
            # ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML Ρ„Π°ΠΉΠ»
            tree = ET.parse('file.xml')
            
            # ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт
            root = tree.getroot()
            
            # Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡΡ ΠΏΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ элСмСнтам
            for child in root:
                print(child.tag, child.attrib)
        
    

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сначала ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ET.parse() ΠΈ сохраняСм Π΅Π³ΠΎ структуру Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ tree. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° tree.getroot(). Π”Π°Π»Π΅Π΅ ΠΌΡ‹ итСрируСмся ΠΏΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ элСмСнтам ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ элСмСнта ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΈΡ… Ρ‚Π΅Π³ΠΈ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.

2. ИспользованиС XPath

ΠšΡ€ΠΎΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ElementTree, Π² Python Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° lxml, которая прСдоставляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ XPath для парсинга XML Ρ„Π°ΠΉΠ»ΠΎΠ². Для использования этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pip install lxml. ПослС этого, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ классы ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

        
            from lxml import etree
        
    

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ XPath для поиска ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… элСмСнтов Π² XML Ρ„Π°ΠΉΠ»Π΅:

        
            # ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML Ρ„Π°ΠΉΠ»
            tree = etree.parse('file.xml')
            
            # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ XPath для поиска элСмСнтов
            elements = tree.xpath('//book')
            
            # Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ элСмСнты
            for element in elements:
                print(element.attrib)
        
    

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ etree.parse() ΠΈ сохраняСм Π΅Π³ΠΎ структуру Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ tree. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ XPath Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ //book, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ всС элСмСнты с Ρ‚Π΅Π³ΠΎΠΌ "book". Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… элСмСнтов.

3. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ xmltodict

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° xmltodict позволяСт Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ XML Ρ„Π°ΠΉΠ»Ρ‹ Π² словари Python. Для использования этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pip install xmltodict. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅:

        
            import xmltodict
            
            # ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML Ρ„Π°ΠΉΠ»
            with open('file.xml') as xml_file:
                data = xmltodict.parse(xml_file.read())
                
                # Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ содСрТимоС XML Ρ„Π°ΠΉΠ»Π°
                print(data)
        
    

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сначала ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open() ΠΈ сохраняСм Π΅Π³ΠΎ содСрТимоС Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ xml_file. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ xmltodict.parse() для прСобразования XML Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Python. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ содСрТимоС словаря.

4. ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ BeautifulSoup

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° BeautifulSoup Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ возмоТности для парсинга XML Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Python. Для Π½Π°Ρ‡Π°Π»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pip install beautifulsoup4. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ классы ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

        
            from bs4 import BeautifulSoup
            
            # ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML Ρ„Π°ΠΉΠ»
            with open('file.xml') as xml_file:
                soup = BeautifulSoup(xml_file, 'xml')
                
                # Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ содСрТимоС XML Ρ„Π°ΠΉΠ»Π°
                print(soup)
        
    

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сначала ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ XML Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open() ΠΈ сохраняСм Π΅Π³ΠΎ содСрТимоС Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ xml_file. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса BeautifulSoup, пСрСдавая Π² Π½Π΅Π³ΠΎ содСрТимоС XML Ρ„Π°ΠΉΠ»Π° ΠΈ указывая Ρ‚ΠΈΠΏ парсСра - "xml". Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ содСрТимоС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° BeautifulSoup.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов, ΠΊΠ°ΠΊ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ XML Ρ„Π°ΠΉΠ»Ρ‹ Π² Python. ΠœΡ‹ использовали Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ElementTree, lxml, xmltodict ΠΈ BeautifulSoup для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с XML Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. КаТдая ΠΈΠ· этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ свои прСимущСства ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π° Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ. НадСюсь, данная информация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для вас ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с XML Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Python!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Python: основы ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ / XML, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ElementTree, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° lxml (шаг 1)

ΠŸΠ°Ρ€ΡΠΈΠΌ XML Ρ„Π°ΠΉΠ» python [ Ρ‡Π°ΡΡ‚ΡŒ 3 ]

ΠŸΠ°Ρ€ΡΠΈΠ½Π³ XML прайс-листа поставщика Π½Π° Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”¬ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? Π£Π·Π½Π°ΠΉΡ‚Π΅ всС ΠΎΠ± этом Π²Π°ΠΆΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚Π΅ программирования 🐍

πŸ• Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python?

πŸ“ Как пСрСвСсти Π² Ρ€Π°Π΄ΠΈΠ°Π½Ρ‹ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”Ž Как Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ xml с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° 🐍

πŸš€ Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» python Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ⭐

πŸ” Как ΡƒΠ·Π½Π°Ρ‚ΡŒ список установлСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π² Python?

πŸ”§ΠšΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Π°Ρ„Ρ€Π΅ΠΉΠΌ Π² список python?🐍