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)
- Use pprint(pretty print) para imprimir el diccionario en una forma legible y bien formateada.
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