Oh MyUtils

XMLフォーマッター&バリデーター - XML整形 オンライン

XMLの整形、検証、圧縮をシンタックスハイライトとツリービュー付きで。XMLエラーの修正とフォーマット・圧縮間の変換。

モード
インデント
表示
入力
出力
 

よくある質問

XMLフォーマッターとは何ですか?

XMLフォーマッター(XMLビューティファイアーまたはXMLプリティプリンターとも呼ばれます)は、XMLドキュメントを適切なインデント、改行、一貫した構造で再フォーマットし、可読性を向上させるツールです。圧縮されたり、フォーマットが崩れたXMLを、読みやすく、レビューしやすく、デバッグしやすいクリーンで整理されたコードに変換します。

このXMLフォーマッターの使い方を教えてください。

入力エリアにXMLを貼り付けるか入力するか、XMLファイル(.xml、.svg、.xsd、.wsdl、.pom、.rss)をアップロードしてください。フォーマットタブを選択すると整形され、圧縮タブを選択するとミニファイされます。お好みのインデントレベル(2スペース、4スペース、タブ)を選択してください。ツールが自動的にXMLを検証し、有効か無効かを表示します。出力パネルでコードビュー(シンタックスハイライト付き)とツリービュー(階層構造)を切り替えられます。コピーをクリックして結果をクリップボードにコピーするか、ダウンロードをクリックして.xmlファイルとして保存できます。

XMLデータは安全ですか?サーバーに送信されますか?

XMLデータは100%安全で、ブラウザから外に出ることはありません。このツールは、ブラウザ内蔵のDOMParser APIを使用して、すべてのフォーマット、検証、ミニファイをデバイス上で完全に処理します。XMLデータがサーバーに送信されたり、データベースに保存されたり、ログに記録されることは一切ありません。インターネットから切断しても確認できます — ページ読み込み後、ツールは完全にオフラインで動作します。

どのような種類のXMLファイルに対応していますか?

このフォーマッターは、あらゆる整形式XMLドキュメントに対応しています:標準XMLファイル(.xml)、SVGグラフィックス(.svg)、XSDスキーマ定義(.xsd)、XSLTスタイルシート(.xslt/.xsl)、WSDL Webサービス定義(.wsdl)、Maven POMファイル(pom.xml)、RSS/Atomフィード(.rss、.atom)、SOAPエンベロープ、Androidマニフェスト、Spring設定ファイル、.csproj/.vbprojプロジェクトファイル、その他のXMLベースのフォーマットすべてに対応しています。

XMLのフォーマットとミニファイの違いは何ですか?

フォーマット(ビューティファイ)は、適切なインデントと改行を追加してXMLドキュメントを人間が読みやすくします。各要素はネストの深さを反映したインデント付きで独自の行に表示されます。ミニファイは、タグ間のすべての不要な空白を削除して、できるだけコンパクトなXMLを生成しますが、テキストコンテンツやCDATAセクション内の空白は保持します。ミニファイは、転送や保存のためにファイルサイズを削減するのに役立ちます。

ツリービューはどのように機能しますか?

ツリービューは、XMLドキュメントをインタラクティブな階層構造として表示します。各XML要素は、タグ名とその属性を表示する折りたたみ可能なノードとして表示されます。個々のノードをクリックして展開したり折りたたんだりして、ドキュメントの特定の部分に焦点を当てることができます。要素名は青色、属性は紫色、テキストコンテンツはデフォルト色、コメントは灰色、CDATAセクションはオレンジ色で表示されます。親ノードには子カウントバッジが表示され、各ブランチの複雑さをすばやく把握できます。

XMLにエラーがある場合はどうなりますか?

XMLが整形式でない場合、ツールはエラーが検出された行番号と列を含む明確なエラーメッセージを表示します。一般的なエラーには、閉じられていないタグ、不一致のタグ名、属性の引用符の欠落、同じ要素での重複属性、要素名の無効な文字、ルート要素の欠落などがあります。このツールは整形式(XMLシンタックス)を検証するものであり、スキーマの妥当性(XSD/DTDへの準拠)は検証しないことに注意してください。

コード例

// Parse and validate XML using DOMParser
const parser = new DOMParser();
const doc = parser.parseFromString(xmlString, 'text/xml');
const error = doc.querySelector('parsererror');
console.log(error ? 'Invalid' : 'Valid');

// Format XML with indentation
function formatXml(xml, indent = '  ') {
  let formatted = '';
  let level = 0;
  xml.replace(/>\s+</g, '><').replace(
    /(<\/?[^>]+>)/g,
    (tag) => {
      if (tag.startsWith('</')) level--;
      formatted += indent.repeat(level) + tag + '\n';
      if (tag.startsWith('<') && !tag.startsWith('</') && !tag.endsWith('/>')) level++;
    }
  );
  return formatted.trim();
}

// Minify XML
const minified = xml.replace(/>\s+</g, '><').trim();

関連ツール