Convertir INI a XML
Convierte la configuración INI en XML utilizable, comprobando la sintaxis, la codificación y los límites del esquema de destino.
Convierte archivos INI en línea
Todavía no tenemos un conversor en línea específico para INI a XML, pero puedes convertir archivos INI en línea a estos formatos:
¿Quiere convertir INI a XML?
Háganoslo saber. Elegimos qué conversiones añadir a continuación según el interés.
Cómo convertir un archivo ini a xml
- Otro
- Aún sin calificaciones.
Un programa, una utilidad de dispositivo o un sistema de administración de configuración puede requerir XML cuando la configuración original está almacenada en formato INI. Convertir el archivo permite importar la configuración, validarla con un esquema XML o intercambiarla con software que no puede leer INI.
Qué es el formato INI
INI es un formato de configuración de texto plano compuesto por secciones y pares clave-valor, como timeout=30 bajo [network]. Es común en aplicaciones de Windows, software de escritorio antiguo, juegos, instaladores, herramientas de desarrollo y utilidades de dispositivos específicas de cada proveedor.
INI no tiene una especificación universal. Los programas difieren en sus caracteres de comentario, delimitadores, comillas, interpolación, comportamiento de claves duplicadas, distinción entre mayúsculas y minúsculas, valores multilínea y compatibilidad con matrices o datos anidados. Un archivo válido para una aplicación puede no ser válido para otra.
Qué es el formato XML
XML representa los datos mediante elementos anidados, atributos, valores de texto, etiquetas de cierre y reglas de escape definidas. Puede incluir namespaces y un esquema XSD externo para la validación de la estructura y los tipos de datos; XML no se valida automáticamente por sí mismo.
XML es adecuado para aplicaciones que requieren una jerarquía definida, namespaces, validación mediante esquemas o intercambio de datos estandarizado. Normalmente es más detallado que INI, por lo que la conversión suele aumentar el tamaño del archivo en lugar de reducirlo.
Cómo convertir INI a XML
Para una conversión local, la biblioteca estándar de Python configparser y xml.etree.ElementTree ofrecen una opción repetible sin cargar credenciales, API keys, nombres de host ni configuraciones de dispositivos. Este script crea una representación XML general; no adivina el esquema XML requerido por una aplicación específica.
- Instala Python 3 desde
python.orgsi aún no está disponible. - Guarda el siguiente código como
ini_to_xml.py:
import configparser
import sys
import xml.etree.ElementTree as ET
source, target = sys.argv[1:3]
config = configparser.ConfigParser(
interpolation=None,
strict=False,
empty_lines_in_values=False
)
config.optionxform = str
with open(source, encoding="utf-8") as file:
config.read_file(file)
root = ET.Element("configuration")
def add_section(parent, name, values):
section = ET.SubElement(parent, "section", {"name": name})
for key, value in values.items():
entry = ET.SubElement(section, "entry", {"name": key})
entry.text = value
if config.defaults():
add_section(root, "DEFAULT", config.defaults())
for section_name in config.sections():
# _sections contains values written in this section, excluding DEFAULT values.
values = {
key: value
for key, value in config._sections[section_name].items()
if key != "__name__"
}
add_section(root, section_name, values)
ET.indent(root, space=" ")
ET.ElementTree(root).write(target, encoding="utf-8", xml_declaration=True)
- Ejecuta el script desde una terminal:
python ini_to_xml.py settings.ini settings.xml
Para una entrada que contenga [network] y timeout=30, la salida incluye:
<configuration>
<section name="network">
<entry name="timeout">30</entry>
</section>
</configuration>
La estructura genérica utiliza los nombres de las secciones y las claves como valores de atributos, por lo que también se pueden representar nombres que no sean nombres de elementos XML válidos. Si la aplicación receptora requiere un elemento raíz, elementos secundarios, atributos, namespace o esquema específicos, modifica el script para generar esa estructura en lugar de importar esta salida sin cambios.
Opciones de escritorio y online
Para una conversión manual ocasional, utiliza Notepad++ u otro editor de texto plano para asignar cada sección y clave INI a la estructura XML requerida por el programa de destino. Oxygen XML Editor y otros editores XML de escritorio similares pueden dar formato, editar y validar el XML resultante, pero no ofrecen una importación INI universal porque INI no tiene un modelo de datos coherente.
Un convertidor online solo es adecuado para un archivo sencillo que no contenga información sensible. Utiliza un servicio confiable únicamente cuando su lista de formatos actual indique explícitamente que acepta entradas INI y produce salidas XML; los convertidores de documentos genéricos pueden rechazar INI o tratarlo como texto sin estructura. No cargues contraseñas, claves privadas, credenciales de API, configuraciones propietarias ni configuraciones de dispositivos. El XML descargado debe comprobarse localmente antes de utilizarlo.
Limitaciones de calidad y compatibilidad
El script conserva los nombres de las secciones y los valores analizados, pero no conserva los comentarios, los espacios originales, el formato ni la sintaxis específica de la aplicación. Tampoco reproduce el comportamiento de la interpolación, la expansión de variables de entorno, la configuración condicional ni las convenciones personalizadas para matrices y valores anidados.
strict=False permite claves duplicadas durante el análisis, pero solo se conserva el último valor. Elimina esa opción cuando las claves duplicadas deban producir un error. interpolation=None copia literalmente las secuencias de porcentaje en lugar de tratarlas como referencias. El analizador predeterminado también espera delimitadores compatibles y rechaza algunos dialectos de INI, incluidas las claves sin valor, a menos que se configure allow_no_value=True.
El ejemplo lee UTF-8 y escribe UTF-8 con una declaración XML. Identifica la codificación de caracteres del programa original antes de la conversión; el software antiguo de Windows puede utilizar una página de códigos como Windows-1252. No se pueden escribir caracteres de control XML no válidos, y los valores que contienen caracteres sensibles para XML son escapados por ElementTree.
Valida el resultado con el importador de la aplicación de destino o con su XSD y, a continuación, prueba la configuración en un entorno que no sea de producción. Un archivo XML sintácticamente válido aún puede ser incompatible con los nombres, tipos, valores predeterminados, orden o namespace requeridos por el programa receptor.
INI vs XML: comparación de formatos
Cómo se comparan los formatos INI y XML en las propiedades que más importan para esta conversión.
| Propiedad | .INI INI file | .XML Extensible Markup Language |
|---|---|---|
| Estándar abierto | — | Sí |
| Compresión | Sin compresión | Sin compresión |
| Tamaño de archivo típico | Muy pequeño | Pequeño |
| Se abre en un navegador web | No | Sí, de forma nativa |
| Edición posterior | Fácil | Fácil |
| Compatibilidad con metadata | Básico | Básico |
| Legible como texto plano | Sí | Sí |
| Más adecuado para | Intercambio de datos | Intercambio de datos |
| Introducido | — | 1998 |
| Desarrollador | — | W3C |
| Tipo MIME | — | application/xml |
La información sobre extensiones y tipos de archivo la proporciona File-Extensions.org
Software sugerido para convertir ini a xml
Otras conversiones de archivos .ini
Conversión inversa
Convertir a .xml
desde otros formatos
- txt a xml
- xfdf a xml
- enw a xml
- text a xml
- cdfx a xml
- dwg a xml
- iam a xml
- excel a xml
- roz a xml
- stp a xml
- 123 a xml
- abs a xml
- accdt a xml
- acp a xml
- adp a xml
- asc a xml
- ascii a xml
- asm a xml
- ass a xml
- atomsvc a xml
- bgl a xml
- cap a xml
- catpart a xml
- catproduct a xml
- cgr a xml
- crtx a xml
- crypt12 a xml
- dex a xml
- dxi a xml
- ecsv a xml
- edi a xml
- enc a xml
- ets a xml
- exp a xml
- fm a xml
- fods a xml
- fp a xml
- fp4 a xml
- fr3 a xml
- iges a xml
- ipd a xml
- ipt a xml
- iqy a xml
- jpeg a xml
- jpg a xml
- lin a xml
- ll a xml
- lng a xml
- lst a xml
- m3u8 a xml
- mar a xml
- mdt a xml
- mdwn a xml
- model a xml
- mst a xml
- mu3 a xml
- myr a xml
- nbib a xml
- nfo a xml
- odc a xml
- out a xml
- ove a xml
- pkt a xml
- png a xml
- prt a xml
- ps a xml
- qrp a xml
- ris a xml
- rpt a xml
- s2db a xml
- sba a xml
- sdf a xml
- sl2 a xml
- sl3 a xml
- sldasm a xml
- sldprt a xml
- sqlite2 a xml
- srt a xml
- stm a xml
- sxc a xml
- tab a xml
- tdl a xml
- thmx a xml
- tif a xml
- tiff a xml
- trc a xml
- usr a xml
- vda a xml
- wk1 a xml
- wk3 a xml
- wks a xml
- x_t a xml
- xdp a xml
- xl a xml
- xlmx a xml
- xlt a xml
- xltm a xml
- xmls a xml
- xmlx a xml
- xpr a xml