コンテンツへスキップ
uencoder

XML を YAML に変換する

XML ドキュメントを読みやすい設定ファイルのために YAML に変換します。人間が書くデータには、XML のタグよりも YAML のインデントベースの構文の方がすっきりします。

  1. 1

    XML はタグと属性を、YAML はインデントと key: value ペアを使います。XML を YAML に変換すると、設定としてより読みやすい形式になります。属性はキーに(多くは @ プレフィックス付き)、テキスト内容は #text キーに、ネストされた要素はネストされたオブジェクトになります。

  2. 2
    JSON XML 相互変換ツール →

    まず中間ステップとして XML を JSON に変換します。XML 属性は JSON キーに、子要素はネストされたオブジェクトに、繰り返される要素は配列にマッピングされます。この中間 JSON を YAML に変換します。

  3. 3
    YAML コンバーター →

    中間 JSON を YAML に変換します。YAML の構文は JSON よりコンパクトで(ほとんどの文字列に引用符不要、波括弧/角括弧なし)、コメント、複数行文字列、アンカーをサポートします。結果は人が読める設定ファイルです。

  4. 4

    JSON-to-YAML ワークフローを使って、中間 JSON を検証とフォーマット付きで一度に YAML に変換します。

  5. 5

    注意点:混在コンテンツ(テキストと子要素の両方を持つ要素。HTML で一般的)については XML から YAML への変換はロスがあります。XML 名前空間、CDATA セクション、処理命令は YAML にきれいにマッピングされません。この変換はドキュメント指向の XML(HTML、DocBook)ではなく、データ指向の XML に使ってください。

よくある質問

XML から YAML への変換はロスレスですか?
データ XML(混在コンテンツなし、名前空間なし)ならロスレスにできます。ドキュメント XML(混在コンテンツ、属性、名前空間)は情報が失われたり不格好にマッピングされたりします。ドキュメントには XML を、データ設定には YAML を使ってください。
なぜ XML を直接 YAML に変換しないのですか?
JSON を中間に経由する方が信頼性が高いです。XML-to-JSON と JSON-to-YAML は十分にテストされた変換です。直接の XML-to-YAML コンバータはまれで、エッジケースの扱いが異なる場合があります。2 段階アプローチの方が堅牢です。

このタスクを解決するワークフロー

JSON 経由で 2 つの YAML 設定を比較
構造化された値の差分比較しやすいように、YAML 設定を JSON に変換する。
パイプライン
CSV から JSON を経て YAML へ変換
スプレッドシートの CSV データを JSON 中間体を経て YAML に変換し、設定生成に適した形にする。
パイプライン
URL 転送用の JSON ペイロードのエンコード
JSON ドキュメントを URL パラメータ用に準備する: 整形、Base64 エンコード、パーセントエンコード — ネストされたパラメータデコードチェーンの正確な逆順。
パイプライン
ENV から JSON を経て YAML へ変換
.env を JSON に変換し、その後デプロイ設定のために YAML に変換する。
パイプライン
HJSON から JSON フォーマットへ変換
HJSON をフォーマットし、標準 JSON に変換する。
パイプライン
INI から JSON を経て YAML へ変換
INI を JSON に変換し、その後モダンな設定フォーマットのために YAML に変換する。
パイプライン
JSON フォーマットと整合性チェックサム計算
JSON ドキュメントを整形し、以降の変更を検出するために CRC32 チェックサムを計算する。
パイプライン
JSON のミニファイと検証
検査のために JSON をフォーマットし、1 パスで構文的に正しいことを検証する。
パイプライン
JSON フォーマットと TypeScript インターフェース生成
JSON ドキュメントをフォーマットし、1 チェーンで TypeScript インターフェース定義を推論する。
パイプライン
JSON から XML へ変換
JSON ドキュメントを XML 形式に変換し、XML のみを受け付けるレガシー統合に対応する。
パイプライン
JSON からフォーマット済み XML へ変換
JSON ドキュメントを XML に変換し、可読性のために結果を整形する。
パイプライン
検証、フォーマット後 JSON から YAML へ変換
(ミニファイの可能性がある)JSON 設定を YAML に変換し、微妙に誤った YAML を生成成する代わりに最初のノードで構文エラーを捕捉する。
パイプライン
JSON から YAML を経て TOML へ変換
JSON 設定を YAML 経由で TOML にマイグレートし、Rust や Python プロジェクト設定に適用する。
パイプライン
JSON5 から JSON フォーマットへ変換
JSON5 をフォーマットし、標準 JSON に変換する。
パイプライン
JSONC から JSON フォーマットへ変換
JSONC(コメント付き JSON)をフォーマットし、標準 JSON に変換する。
パイプライン
JWT ペイロードのデコードとフォーマット
JWT トークンを解析し、ペイロードを抽出し、検査のために JSON をフォーマットする。
パイプライン
Plist から JSON を経て XML へ変換
Apple Plist を JSON に変換し、その後汎用 XML に変換する。
パイプライン
Properties から JSON を経て YAML へ変換
Java Properties を JSON に変換し、その後 YAML に変換する。
パイプライン
クエリ文字列解析と JSON フォーマット
クエリ文字列をキー・バリューペアに解析し、その後 JSON としてフォーマットする。
パイプライン
TOML から JSON へ変換
TOML 設定ファイルを JSON 入力を期待するツールや API のために解析する。
パイプライン
TOML から JSON を経て YAML へ変換
TOML 設定を JSON 経由で YAML に変換し、Kubernetes や CI ツールに適用する。
パイプライン
JSON 経由で TOML から YAML へ変換
TOML 設定ファイルを YAML 形式に変換し、JSON を中間表現として使用する。
パイプライン
ネストされた URL パラメータのデコード(Base64 JSON)
URL エンコード Base64 JSON を運ぶ URL パラメータを可読なフォーマット済み JSON に展開する。
パイプライン
XML から JSON を経て CSV へ変換
XML ドキュメントを JSON 中間体経由で CSV に平坦化し、スプレッドシート消費に対応する。
パイプライン
XML から JSON を経て YAML へ変換
XML を JSON に変換し、その後設定生成のために YAML に変換する。
パイプライン
YAML から JSON へ変換
YAML ドキュメントを JSON に変換し、型強制のサプライズのために解析された値を検査する。
パイプライン
YAML から JSON を経て CSV へ変換
YAML を JSON に変換し、その後スプレッドシート使用のために CSV に変換する。
パイプライン
YAML から TypeScript インターフェースを生成
YAML ドキュメントを TypeScript インターフェース定義に変換し、JSON を中間フォーマットとして使用する。
パイプライン
YAML の検証とフォーマット
YAML を JSON に変換して構造を検証し、その後 JSON が well-formed であることを確認する。
パイプライン

関連ツール