Konwertuj INI na XML
Konwertuj ustawienia INI do użytecznego formatu XML, sprawdzając składnię, kodowanie oraz ograniczenia schematu docelowego.
Konwertuj pliki INI online
Nie mamy jeszcze dedykowanego konwertera online dla INI na XML, ale pliki INI możesz przekonwertować online na te formaty:
Chcesz przekonwertować INI na XML?
Daj nam znać. Kolejne konwersje do dodania wybieramy według zainteresowania.
Jak konwertować ini do xml
- Inne formaty
- Brak ocen.
Program, narzędzie systemowe urządzenia lub system zarządzania konfiguracją może wymagać XML, gdy oryginalne ustawienia są przechowywane w formacie INI. Konwersja pliku umożliwia zaimportowanie ustawień, zweryfikowanie ich względem schematu XML lub wymianę z oprogramowaniem, które nie potrafi odczytywać formatu INI.
Czym jest format INI
INI to tekstowy format konfiguracji zbudowany z sekcji i par klucz-wartość, takich jak timeout=30 w sekcji [network]. Jest często używany w aplikacjach Windows, starszym oprogramowaniu desktopowym, grach, instalatorach, narzędziach programistycznych i narzędziach urządzeń przeznaczonych dla konkretnych dostawców.
INI nie ma uniwersalnej specyfikacji. Programy różnią się obsługiwanymi znakami komentarzy, separatorami, cudzysłowami, interpolacją, zachowaniem w przypadku zduplikowanych kluczy, rozróżnianiem wielkości liter, wartościami wielowierszowymi oraz obsługą tablic lub danych zagnieżdżonych. Plik prawidłowy dla jednej aplikacji może być nieprawidłowy dla innej.
Czym jest format XML
XML reprezentuje dane za pomocą zagnieżdżonych elementów, atrybutów, wartości tekstowych, znaczników zamykających i zdefiniowanych reguł zastępowania znaków. Może mu towarzyszyć przestrzeń nazw oraz zewnętrzny schemat XSD służący do sprawdzania struktury i typów danych; XML nie przeprowadza automatycznej walidacji.
XML sprawdza się w aplikacjach wymagających zdefiniowanej hierarchii, przestrzeni nazw, walidacji schematu lub ustandaryzowanej wymiany danych. Zwykle jest bardziej rozwlekły niż INI, dlatego konwersja zazwyczaj zwiększa rozmiar pliku, zamiast go zmniejszać.
Jak konwertować INI do XML
W przypadku konwersji lokalnej biblioteki standardowe języka Python configparser i xml.etree.ElementTree zapewniają powtarzalną metodę bez przesyłania danych uwierzytelniających, kluczy API, nazw hostów ani ustawień urządzeń. Ten skrypt tworzy ogólną reprezentację XML; nie odgaduje schematu XML wymaganego przez konkretną aplikację.
- Zainstaluj Python 3 ze strony
python.org, jeśli nie jest jeszcze dostępny. - Zapisz poniższy kod jako
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)
- Uruchom go w terminalu:
python ini_to_xml.py settings.ini settings.xml
W przypadku danych wejściowych zawierających [network] i timeout=30 dane wyjściowe obejmują:
<configuration>
<section name="network">
<entry name="timeout">30</entry>
</section>
</configuration>
Ogólna struktura wykorzystuje nazwy sekcji i kluczy jako wartości atrybutów, dzięki czemu można reprezentować również nazwy, które nie są prawidłowymi nazwami elementów XML. Jeśli aplikacja odbierająca wymaga określonego elementu głównego, elementów podrzędnych, atrybutów, przestrzeni nazw lub schematu, zmodyfikuj skrypt tak, aby generował tę strukturę, zamiast importować te dane wyjściowe bez zmian.
Opcje desktopowe i online
W przypadku sporadycznej ręcznej konwersji użyj Notepad++ lub innego edytora tekstu, aby odwzorować każdą sekcję i klucz INI w strukturze XML wymaganej przez program docelowy. Oxygen XML Editor i podobne desktopowe edytory XML mogą formatować, edytować i walidować wynikowy XML, ale nie zapewniają uniwersalnego importu INI, ponieważ INI nie ma spójnego modelu danych.
Konwerter online nadaje się wyłącznie do prostego pliku niezawierającego danych wrażliwych. Korzystaj z renomowanej usługi tylko wtedy, gdy jej aktualna lista formatów wyraźnie akceptuje dane wejściowe INI i generuje dane wyjściowe XML; ogólne konwertery dokumentów mogą odrzucić INI lub potraktować go jako tekst nieustrukturyzowany. Nie przesyłaj haseł, kluczy prywatnych, danych uwierzytelniających API, zastrzeżonych ustawień ani konfiguracji urządzeń. Pobrany XML należy sprawdzić lokalnie przed użyciem.
Ograniczenia jakości i zgodności
Skrypt zachowuje nazwy sekcji i przeanalizowane wartości, ale nie zachowuje komentarzy, oryginalnych odstępów, formatowania ani składni charakterystycznej dla konkretnej aplikacji. Nie odtwarza również działania interpolacji, rozwijania zmiennych środowiskowych, ustawień warunkowych ani niestandardowych sposobów zapisu tablic i wartości zagnieżdżonych.
strict=False umożliwia analizowanie zduplikowanych kluczy, ale zachowywana jest tylko ostatnia wartość. Usuń tę opcję, jeśli zduplikowane klucze powinny powodować błąd. interpolation=None kopiuje sekwencje procentowe dosłownie, zamiast traktować je jako odwołania. Domyślny parser oczekuje również obsługiwanych separatorów i odrzuca niektóre dialekty INI, w tym klucze bez wartości, chyba że skonfigurowano allow_no_value=True.
Przykład odczytuje dane w kodowaniu UTF-8 i zapisuje je w UTF-8 z deklaracją XML. Przed konwersją ustal kodowanie znaków używane przez oryginalny program; starsze oprogramowanie Windows może korzystać ze strony kodowej, takiej jak Windows-1252. Nieprawidłowych znaków sterujących XML nie można zapisać, a wartości zawierające znaki specjalne XML są zastępowane przez ElementTree.
Zweryfikuj wynik za pomocą importera aplikacji docelowej lub jej schematu XSD, a następnie przetestuj ustawienia w środowisku nieprodukcyjnym. Składniowo poprawny plik XML może nadal być niezgodny z wymaganymi przez program odbierający nazwami, typami, wartościami domyślnymi, kolejnością lub przestrzenią nazw.
Porównanie formatu INI z XML
Jak formaty INI i XML wypadają w porównaniu pod względem najważniejszych cech dla tej konwersji.
| Cecha | .INI INI file | .XML Extensible Markup Language |
|---|---|---|
| Otwarty standard | — | Tak |
| Kompresja | Bez kompresji | Bez kompresji |
| Typowy rozmiar pliku | Bardzo mały | Mały |
| Otwiera się w przeglądarce internetowej | Nie | Tak, natywnie |
| Dalsza edycja | Łatwy | Łatwy |
| Obsługa metadanych | Podstawowy | Podstawowy |
| Czytelny tekstowo | Tak | Tak |
| Najlepszy do | Wymiana danych | Wymiana danych |
| Wprowadzono | — | 1998 |
| Twórca | — | W3C |
| Typ MIME | — | application/xml |
Informacje o rozszerzeniach i typach plików zapewnia File-Extensions.org
Sugerowane oprogramowanie i linki: konwertery ini na xml
Dodatkowe formaty dla konwersji pliku
ini
Konwersja odwrotna
Konwersja do .xml
z innych formatów
- txt do xml
- enw do xml
- text do xml
- xfdf do xml
- cdfx do xml
- iam do xml
- dwg do xml
- roz do xml
- stp do xml
- rpt do xml
- 123 do xml
- abs do xml
- accdt do xml
- acp do xml
- adp do xml
- asc do xml
- ascii do xml
- asm do xml
- ass do xml
- atomsvc do xml
- bgl do xml
- cap do xml
- catpart do xml
- catproduct do xml
- cgr do xml
- crtx do xml
- crypt12 do xml
- dex do xml
- dxi do xml
- ecsv do xml
- edi do xml
- enc do xml
- ets do xml
- excel do xml
- exp do xml
- fm do xml
- fods do xml
- fp do xml
- fp4 do xml
- fr3 do xml
- iges do xml
- ipd do xml
- ipt do xml
- iqy do xml
- jpeg do xml
- jpg do xml
- lin do xml
- ll do xml
- lng do xml
- lst do xml
- m3u8 do xml
- mar do xml
- mdt do xml
- mdwn do xml
- model do xml
- mst do xml
- mu3 do xml
- myr do xml
- nbib do xml
- nfo do xml
- odc do xml
- out do xml
- ove do xml
- pkt do xml
- png do xml
- prt do xml
- ps do xml
- qrp do xml
- ris do xml
- s2db do xml
- sba do xml
- sdf do xml
- sl2 do xml
- sl3 do xml
- sldasm do xml
- sldprt do xml
- sqlite2 do xml
- srt do xml
- stm do xml
- sxc do xml
- tab do xml
- tdl do xml
- thmx do xml
- tif do xml
- tiff do xml
- trc do xml
- usr do xml
- vda do xml
- wk1 do xml
- wk3 do xml
- wks do xml
- x_t do xml
- xdp do xml
- xl do xml
- xlmx do xml
- xlt do xml
- xltm do xml
- xmls do xml
- xmlx do xml
- xpr do xml