RUNWEBTOOLS
日本語
データフォーマット & エンコーディング

XML とは何か、どう動くのか

更新 2026-07-06

XML はウェブのデータフォーマットとして JSON より前からあり、今も膨大なソフトウェアの下で静かに動いています — オフィス文書、RSS フィード、SVG 画像、サイトマップ、そして数えきれないエンタープライズシステム。タグと山括弧が威圧的に見えるなら、このガイドが XML を本当に重要な少数のルールへと分解します。

XML とは

XML(eXtensible Markup Language)は タグ を使って構造化データを保存するテキストフォーマットです。HTML と違い、あらかじめ定義されたタグはありません — 自分のデータを説明する要素名を自分で考え出します。それこそが「拡張可能(extensible)」の意味です。

<book id="42">
  <title>The Pragmatic Programmer</title>
  <author>Hunt</author>
  <price currency="USD">39.99</price>
</book>

構成要素

  • 要素 — 開始タグ、内容、そして対応する終了タグ: <title>…</title>
  • 属性 — 開始タグに付く名前/値ペア、引用符で囲む: id="42"
  • 入れ子 — 要素が他の要素を含み、最上位に単一の ルート 要素を持つ木を成します。
  • 空要素 — 自己終了できます: <br />

well-formed な XML

XML はルールが厳格です。破るとパーサーは文書全体を拒否します。「well-formed(整形式)」であるには:

  • すべての開始タグに対応する終了タグがある。
  • タグは正しく入れ子になる(重なり禁止)。
  • ルート要素はちょうど一つ。
  • 属性値は常に引用符で囲む。
  • 五つの特殊文字はエスケープする(下記参照)。

特殊文字のエスケープ

<& は構造的な意味を持つため、文字どおりのものはエンティティで書かねばなりません: &lt;&gt;&amp;&quot;&apos;HTML エンティティと同じ発想です。

XML vs. HTML vs. JSON

  • vs. HTML: HTML はウェブページを表示するための固定されたタグ集合を持ちます。XML はデータを記述するために自分のタグを定義させます。また HTML はより寛容で、XML は厳格です。
  • vs. JSON: JSON はより軽く、今やウェブ API を支配しています。XML はより冗長ですが、属性・コメント・名前空間・スキーマ検証をサポートし、だから文書やエンタープライズシステムで生き残っています。

詰まった XML ファイルを整えて well-formed か確かめるには、XML フォーマッターに通してください。代わりに HTML を扱っていますか? HTML フォーマッターがマークアップに対して同じことをします。

データフォーマット & エンコーディング をもっと見る

データフォーマット & エンコーディング のガイドをすべて見る →

このガイドで触れたツール