¿Cómo convertir listas a XML en Python?

En este artículo, la tarea es convertir una lista dada a XML en Python. Pero primero, analicemos qué es un XML.

También podría ser una terminología que define un grupo de reglas para codificar documentos en un formato que es tanto legible por humanos como por máquinas. Los objetivos de diseño de XML se especializan en la simplicidad, la generalidad y la utilidad en la web. Es un formato de texto con fuerte soporte a través de Unicode para varios idiomas humanos. 

Puede consultar el artículo Crear documentos XML con Python para obtener más información.

Método 1: usar el árbol de elementos

Python presenta una biblioteca integrada, ElementTree, que tiene funciones para leer y manipular XML (y otros archivos estructurados de manera similar). ElementTree representa todo el documento XML como un árbol que ayuda al realizar las operaciones. El elemento representa un solo Node en este árbol. La lectura y escritura de todo el documento se realiza en el nivel de ElementTree. Las interacciones con un elemento XML y sus subelementos se realizan en el nivel de elemento. Consulte: Modificar archivos XML con Python

import xml.etree.ElementTree as ET

Los documentos XML tienen secciones, llamadas elementos, definidas por una etiqueta de inicio y final. Una etiqueta es una construcción de marcado que comienza con < y termina con >.

Enfoque utilizado:

  1. Use ElementTree para insertar elementos de listas
  2. Cree el elemento raíz como «userconfig»
  3. Crear subelementos
  4. Insertar entradas de lista en subelemento
  5. Escribe el árbol en un archivo XML

Python3

# Firstly we have to import 'xml.etree.ElementTree' for creating a subtree
import xml.etree.ElementTree as ET
  
users_list = ["GeeksForGeeks", "Arka", "Computer Science", "Engineering", "Portal"]
  
def create_xml():
  
        # we make root element
        usrconfig = ET.Element("usrconfig")
  
        # create sub element
        usrconfig = ET.SubElement(usrconfig, "usrconfig")
  
        # insert list element into sub elements
        for user in range(len( users_list)):
  
                usr = ET.SubElement(usrconfig, "usr")
                usr.text = str(users_list[user])
  
        tree = ET.ElementTree(usrconfig)
  
        # write the tree into an XML file
        tree.write("Output.xml", encoding ='utf-8', xml_declaration = True)
  
create_xml()

Producción:

Método 2: Usar xml.dome

El módulo xml.dom.minidom proporciona un analizador sencillo para crear árboles DOM. DOM (modelo de objeto de documento) puede ser una API multilingüe de W3C, es decir, World Wide Web Consortium, para acceder y modificar documentos XML. Python le permite analizar archivos XML con la ayuda de xml.dom.minidom, que es la implementación mínima de la interfaz DOM. Es más simple que la API DOM completa y se considerará más pequeña.

Para obtener más referencias de la biblioteca dada, visite Parse XML usando Minidom en Python .

Python3

from xml.dom import minidom 
import os 
  
users_list = ["GeeksForGeeks", "Arka", "Computer Science", "Engineering", "Portal"]
  
# create file
root = minidom.Document() 
  
# creat root element
xml = root.createElement('root') 
root.appendChild(xml) 
  
for user in range(len( users_list)):
  
    # create child element
    productChild = root.createElement('product'+ str(user))
  
    # insert user data into element
    productChild.setAttribute('list', users_list[user] ) 
    xml.appendChild(productChild) 
  
xml_str = root.toprettyxml(indent ="\t") 
  
# save file
save_path_file = "gfg.xml"
  
with open(save_path_file, "w") as f: 
    f.write(xml_str) 

Producción:

Publicación traducida automáticamente

Artículo escrito por biswasarkadip 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 *