Jak przekonwertować YML na XML
- Dodaj swój plik .YML - przeciągnij go do powyższego pola lub kliknij, aby przeglądać.
- Przekonwertuj go na format .XML w kilka sekund.
- Pobierz swój nowy plik .XML.
Czego się spodziewać
- Komentarze YAML (linie zaczynające się od
#) są po cichu usuwane - nie mają one odpowiednika w modelu danych XML. - Klucze YAML zawsze stają się elementami podrzędnymi XML, nigdy atrybutami; jeśli schemat docelowy wymaga przestrzeni nazw
xmlnslub składni atrybutów, konieczne jest ręczne przetwarzanie końcowe. - Wielodokumentowe pliki YAML oddzielone przez
---muszą zostać podzielone na pojedyncze dokumenty przed konwersją - większość narzędzi obsługuje tylko jeden dokument YAML naraz.
Najczęściej zadawane pytania
Czy konwersja YML na XML jest bezstratna?
Wartości danych (ciągi znaków, liczby, wartości logiczne, listy, obiekty zagnieżdżone) są przenoszone. Komentarze, wskazówki dotyczące wymuszania typów i metadane strukturalne zostają utracone, a mapowanie elementów na atrybuty może nie odpowiadać oczekiwaniom konkretnego schematu.
Czy mogę przekonwertować XML z powrotem na YML?
Tak - uruchom
xq -y na pliku XML lub użyj xmltodict.parse w Pythonie, a następnie yaml.dump. Zauważ, że atrybuty XML stają się kluczami z prefiksem @ w wyjściowym YAML.Dlaczego przekonwertowany XML nie pasuje do tego, czego oczekuje mój system?
Generyczne konwertery stosują domyślne reguły nazewnictwa elementów, które mogą różnić się od schematu docelowego. Będziesz potrzebować narzędzia rozpoznającego schematy lub krótkiego niestandardowego skryptu, który mapuje klucze YAML na dokładne nazwy elementów wymagane przez Twój system.
Czy to działa w przypadku plików YAML z Kubernetes lub Ansible?
Sama konwersja działa, ale pliki te są często wielodokumentowe (oddzielone przez
---). Przed konwersją na XML należy je najpierw podzielić na poszczególne pliki za pomocą yq.