Convertir INI en XML
Convertir les paramètres INI en XML exploitable tout en vérifiant la syntaxe, l’encodage et les limites du schéma cible.
Convertir des fichiers INI en ligne
Nous n’avons pas encore de convertisseur en ligne dédié pour INI vers XML, mais vous pouvez convertir des fichiers INI en ligne vers ces formats :
Vous voulez convertir INI en XML ?
Dites-le-nous. Nous choisissons les prochaines conversions à ajouter selon l'intérêt.
Comment convertir ini en fichier xml
- Autre
- Aucune note pour l'instant.
Un programme, un utilitaire de périphérique ou un système de gestion de configuration peut nécessiter XML lorsque les paramètres d’origine sont stockés au format INI. La conversion permet d’importer les paramètres, de les valider par rapport à un schéma XML ou de les échanger avec des logiciels qui ne peuvent pas lire INI.
Ce qu’est le format INI
INI est un format de configuration en texte brut constitué de sections et de paires clé-valeur, telles que timeout=30 sous [network]. Il est courant dans les applications Windows, les logiciels de bureau anciens, les jeux, les programmes d’installation, les outils de développement et les utilitaires de périphériques propres à certains fournisseurs.
INI ne possède aucune spécification universelle. Les programmes diffèrent au niveau de leurs caractères de commentaire, délimiteurs, guillemets, interpolations, comportement concernant les clés en double, sensibilité à la casse, valeurs multilignes et prise en charge des tableaux ou des données imbriquées. Un fichier valide pour une application peut ne pas l’être pour une autre.
Ce qu’est le format XML
XML représente les données avec des éléments imbriqués, des attributs, des valeurs textuelles, des balises fermantes et des règles d’échappement définies. Il peut être accompagné d’espaces de noms et d’un schéma XSD externe pour la validation de la structure et des types de données ; XML ne se valide pas automatiquement lui-même.
XML convient aux applications qui nécessitent une hiérarchie définie, des espaces de noms, une validation par schéma ou un échange de données standardisé. Il est généralement plus verbeux que INI ; la conversion augmente donc normalement la taille du fichier au lieu de la réduire.
Comment convertir INI en XML
Pour une conversion locale, la bibliothèque standard Python configparser et xml.etree.ElementTree offrent une solution reproductible sans téléverser d’informations d’identification, de clés API, de noms d’hôte ou de paramètres de périphérique. Ce script crée une représentation XML générale ; il ne devine pas le schéma XML requis par une application particulière.
- Installez Python 3 depuis
python.orgs’il n’est pas déjà disponible. - Enregistrez le code suivant sous le nom
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)
- Exécutez-le depuis un terminal :
python ini_to_xml.py settings.ini settings.xml
Pour une entrée contenant [network] et timeout=30, la sortie inclut :
<configuration>
<section name="network">
<entry name="timeout">30</entry>
</section>
</configuration>
La structure générique utilise les noms des sections et des clés comme valeurs d’attributs ; les noms qui ne sont pas des noms d’éléments XML valides peuvent donc tout de même être représentés. Si l’application destinataire nécessite un élément racine, des éléments enfants, des attributs, un espace de noms ou un schéma spécifique, modifiez le script pour générer cette structure au lieu d’importer cette sortie telle quelle.
Options de bureau et en ligne
Pour une conversion manuelle occasionnelle, utilisez Notepad++ ou un autre éditeur de texte brut afin de faire correspondre chaque section et chaque clé INI à la structure XML requise par le programme cible. Oxygen XML Editor et les éditeurs XML de bureau similaires peuvent mettre en forme, modifier et valider le XML obtenu, mais ils ne proposent pas d’importation INI universelle, car INI ne possède aucun modèle de données cohérent.
Un convertisseur en ligne convient uniquement à un fichier simple et non sensible. Utilisez un service réputé seulement lorsque sa liste actuelle de formats accepte explicitement les entrées INI et produit une sortie XML ; les convertisseurs de documents génériques peuvent refuser INI ou le traiter comme du texte non structuré. Ne téléversez pas de mots de passe, de clés privées, d’informations d’identification API, de paramètres propriétaires ou de configuration de périphérique. Le XML téléchargé doit être vérifié localement avant utilisation.
Limites de qualité et de compatibilité
Le script conserve les noms des sections et les valeurs analysées, mais il ne conserve pas les commentaires, les espaces d’origine, la mise en forme ou la syntaxe propre à l’application. Il ne reproduit pas non plus le comportement de l’interpolation, de l’expansion des variables d’environnement, des paramètres conditionnels ou des conventions personnalisées pour les tableaux et les valeurs imbriquées.
strict=False autorise les clés en double lors de l’analyse, mais seule la dernière valeur est conservée. Supprimez cette option lorsque les clés en double doivent provoquer une erreur. interpolation=None copie littéralement les séquences de pourcentage au lieu de les traiter comme des références. L’analyseur par défaut attend également des délimiteurs pris en charge et rejette certains dialectes INI, notamment les clés seules, sauf si allow_no_value=True est configuré.
L’exemple lit du UTF-8 et écrit du UTF-8 avec une déclaration XML. Identifiez l’encodage de caractères du programme d’origine avant la conversion ; les anciens logiciels Windows peuvent utiliser une page de codes telle que Windows-1252. Les caractères de contrôle XML non valides ne peuvent pas être écrits, et les valeurs contenant des caractères sensibles pour XML sont échappées par ElementTree.
Validez le résultat avec l’importateur de l’application cible ou son XSD, puis testez les paramètres dans un environnement hors production. Un fichier XML syntaxiquement valide peut tout de même être incompatible avec les noms, types, valeurs par défaut, ordre ou espace de noms requis par le programme destinataire.
Comparaison du format INI vs XML
Comparaison entre les formats INI et XML sur les propriétés les plus importantes pour cette conversion.
| Propriété | .INI INI file | .XML Extensible Markup Language |
|---|---|---|
| Norme ouverte | — | Oui |
| Compression | Non compressé | Non compressé |
| Taille de fichier typique | Très petit | Petit |
| S’ouvre dans un navigateur web | Non | Oui, nativement |
| Modification ultérieure | Facile | Facile |
| Support des métadonnées | Basique | Basique |
| Lisible en texte brut | Oui | Oui |
| Idéal pour | Échange de données | Échange de données |
| Date d’introduction | — | 1998 |
| Développeur | — | W3C |
| Type MIME | — | application/xml |
Les informations sur les extensions et les types de fichiers sont fournies par File-Extensions.org
Logiciel suggéré pour convertir ini en xml
Autres conversions de fichiers .ini
Conversion inverse
Conversion vers .xml
depuis d'autres formats
- txt en xml
- xfdf en xml
- sldasm en xml
- xlmx en xml
- enw en xml
- text en xml
- cdfx en xml
- dwg en xml
- roz en xml
- pkt en xml
- 123 en xml
- abs en xml
- accdt en xml
- acp en xml
- adp en xml
- asc en xml
- ascii en xml
- asm en xml
- ass en xml
- atomsvc en xml
- bgl en xml
- cap en xml
- catpart en xml
- catproduct en xml
- cgr en xml
- crtx en xml
- crypt12 en xml
- dex en xml
- dxi en xml
- ecsv en xml
- edi en xml
- enc en xml
- ets en xml
- excel en xml
- exp en xml
- fm en xml
- fods en xml
- fp en xml
- fp4 en xml
- fr3 en xml
- iam en xml
- iges en xml
- ipd en xml
- ipt en xml
- iqy en xml
- jpeg en xml
- jpg en xml
- lin en xml
- ll en xml
- lng en xml
- lst en xml
- m3u8 en xml
- mar en xml
- mdt en xml
- mdwn en xml
- model en xml
- mst en xml
- mu3 en xml
- myr en xml
- nbib en xml
- nfo en xml
- odc en xml
- out en xml
- ove en xml
- png en xml
- prt en xml
- ps en xml
- qrp en xml
- ris en xml
- rpt en xml
- s2db en xml
- sba en xml
- sdf en xml
- sl2 en xml
- sl3 en xml
- sldprt en xml
- sqlite2 en xml
- srt en xml
- stm en xml
- stp en xml
- sxc en xml
- tab en xml
- tdl en xml
- thmx en xml
- tif en xml
- tiff en xml
- trc en xml
- usr en xml
- vda en xml
- wk1 en xml
- wk3 en xml
- wks en xml
- x_t en xml
- xdp en xml
- xl en xml
- xlt en xml
- xltm en xml
- xmls en xml
- xmlx en xml
- xpr en xml