Programa Python para convertir XML a Diccionario

En este artículo, discutiremos cómo convertir un XML a un diccionario usando Python.

Módulos utilizados

  • xmltodict : es un módulo de Python que hace que trabajar con XML se sienta como si estuviera trabajando con [JSON]. Ejecute el siguiente comando en la terminal para instalar el módulo.

Sintaxis:

pip instalar xmltodict

  • pprint : el módulo pprint proporciona la capacidad de «imprimir de forma bonita» estructuras de datos arbitrarias de Python en una forma bien formateada y más legible.

Acercarse

  • Importe el módulo necesario al espacio de trabajo.
  • Abra el archivo XML en modo de solo lectura y lea el contenido usando file.read() y guárdelo en una variable.

Sintaxis:

with open('filename', 'r', encoding='utf-8') as file:
    my_xml = file.read()
  • Use xmltodict.parse() para analizar el contenido de la variable y convertirlo en Diccionario.

Sintaxis: 

xmltodict.parse(xml_input, codificación=’utf-8′, expatriado=expatriado, process_namespaces=False, namespace_separator=’:’, **kwargs) 

Sintaxis: 

pprint.pprint(objeto, flujo=Ninguno, sangría=1, ancho=80, profundidad=Ninguno, *, compacto=Falso, sort_dicts=Verdadero)

Ejemplo: convertir XML a diccionario

Archivo utilizado:

Python3

# Import the required modules
import xmltodict
import pprint
  
# Open the file and read the contents
with open('example.xml', 'r', encoding='utf-8') as file:
    my_xml = file.read()
  
# Use xmltodict to parse and convert 
# the XML document
my_dict = xmltodict.parse(my_xml)
  
# Print the dictionary
pprint.pprint(my_dict, indent=2)

Producción:

Ejemplo 2: Conversión de XML a diccionario

Archivo utilizado:

Python3

# Import the required modules
import xmltodict
import pprint
  
# Open the file and read the contents
with open('example_2.xml', 'r', encoding='utf-8') as file:
    my_xml = file.read()
  
# Use xmltodict to parse and convert the 
# XML document
my_dict = xmltodict.parse(my_xml)
  
# Print the dictionary
pprint.pprint(my_dict, indent=2)

Producción:

Publicación traducida automáticamente

Artículo escrito por anilabhadatta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *