YML から XML への変換方法
- .YML ファイルを追加してください。上のボックスにドロップするか、クリックしてブラウズします。
- 数秒で .XML に変換されます。
- 新しい .XML ファイルをダウンロードしてください。
期待される結果
- YAMLのコメント(
#で始まる行)は暗黙的に削除されます。これらはXMLデータモデルに対応するものがありません。 - YAMLのキーは常にXMLの子要素になり、属性にはなりません。ターゲットスキーマが
xmlns名前空間や属性構文を必要とする場合は、手動の後処理が必要です。 ---で区切られたマルチドキュメントYAMLファイルは、変換前に個別のドキュメントに分割する必要があります。ほとんどのツールは一度に1つのYAMLドキュメントしか処理できません。
よくある質問
YMLからXMLへの変換はロスレス(無劣化)ですか?
データ値(文字列、数値、ブール値、リスト、ネストされたオブジェクト)はすべて引き継がれます。コメント、型強制のヒント、構造メタデータは失われ、要素と属性のマッピングが特定のスキーマの期待と一致しない場合があります。
XMLをYMLに戻すことはできますか?
はい。XMLファイルに対して
xq -y を実行するか、Pythonの xmltodict.parse の後に yaml.dump を使用します。XML属性はYAML出力では @ プレフィックスが付いたキーになることに注意してください。変換されたXMLがシステムの期待と一致しないのはなぜですか?
汎用コンバーターはデフォルトの要素命名規則を適用しますが、これはターゲットスキーマと異なる場合があります。スキーマを認識するツール、またはYAMLキーをシステムが必要とする正確な要素名にマッピングする短いカスタムスクリプトが必要になります。
これはKubernetesやAnsibleのYAMLファイルでも機能しますか?
変換自体は機能しますが、それらのファイルは多くの場合マルチドキュメント(
--- で区切られている)です。XMLに変換する前に、まず yq を使用して個別のファイルに分割してください。