XML パーサー
XML ドキュメントを即座にフォーマット、検証、クエリ。ネイティブブラウザ API による高速でプライベートな処理。
XML は整形式ではありません
結果
ノードツリー
XML パーサーの使い方
XML を貼り付け
XML コンテンツを入力フィールドにコピー&ペーストするか、サンプル XML を読み込むをクリックしてください。
フォーマット & 検証
フォーマットで整形、圧縮で圧縮、検証でエラーチェックができます。
XPath でクエリ
XPath 式を入力して XPath を実行をクリックすると、特定のノードを抽出できます。
XML とは
XML(eXtensible Markup Language)は、ドキュメントを人間と機械の両方が読める形式でエンコードするためのルールを定義するマークアップ言語です。設定ファイル、データ交換(SOAP、RSS、Atom)、ドキュメント保存に広く使用されています。
XML の主な特徴
自己記述的
XML はカスタムタグでデータ構造を記述するため、内容と階層が一目で分かります。
プラットフォーム非依存
プレーンテキストとして、すべてのプラットフォーム、プログラミング言語、システム間で互換性の問題なく動作します。
拡張可能
DTD や XML Schema を使用して独自のタグとドキュメント構造を定義し、あらゆるデータモデルに対応できます。
よくある質問
整形式の XML は XML の基本的な構文ルール(適切な入れ子、閉じタグ、単一のルート要素)に従っています。妥当な XML は整形式であり、かつ許可される構造とデータ型を定義したスキーマ(DTD、XSD)に準拠しています。
いいえ、このツールは整形式チェック(構文の正確さ)のみを行います。DTD や XSD に対するスキーマベースの検証はブラウザではネイティブにサポートされていません。
ブラウザのネイティブ document.evaluate() は XPath 1.0 に対応しています。contains()、text()、@attribute などの関数、軸、述語を含む一般的なクエリのほとんどをカバーしています。
名前空間は xmlns 属性によって要素名を URI に対応付ける仕組みです。例えば xmlns:atom="http://www.w3.org/2005/Atom" を宣言する atom:feed 要素がその例です。プレフィックスは任意の名前でよく、名前空間を識別するのは URI だけです。そのため、2つのドキュメントが同じ語彙に対して異なるプレフィックスを使うことができます。プレフィックスが異なる場合に XPath のマッチングで local-name() を使ったテクニックが必要になるのは、この名前空間の仕組みが理由です。
XPath 1.0 の式はツリーをたどります。/rss/channel/item はパスで選択し、//item はドキュメント内のどこにある item も見つけ、item[@type='news'] は属性で絞り込み、item[1] や item[last()] のような述語は特定のノードを選びます。XPath は XSLT、多くのテストフレームワーク、そしてこのツールの評価エンジンの背後にあるクエリ言語です。
XXE(XML 外部実体)インジェクションは、ファイルパスや URL を参照する DTD エンティティを悪用してサーバーサイドのパーサーにそのリソースを取得させる攻撃で、かつては /etc/passwd や内部サービスの情報漏洩につながりました。ブラウザの XML パーサーは外部エンティティを解決せず、このツールはサーバーとの往復なしに完全にブラウザ内で動作するため、貼り付けた XML がファイル読み取りや SSRF を引き起こすことはありません。
DOM はドキュメント全体をツリーとして読み込み、任意の位置にアクセスできます。直感的ですが、巨大なファイルではメモリを大量に消費します。SAX は開始タグ、テキスト、終了タグといったイベントを単一パスでストリーミングし、メモリ使用量は一定です。高速ですが前方方向にしか進めません。ブラウザの JavaScript では DOMParser(DOM 方式)が利用でき、JavaScript でストリーミング XML を扱うにはライブラリまたは Web Streams が必要です。
通常のテキスト内では < と & としてエスケープします。文字データに生の < や & をそのまま書くのは不正です。マークアップを多く含むテキストのブロックは CDATA セクションで囲めば、末尾の ]]> という並びに当たるまでエスケープが不要になります。内容の中でエスケープが厳密に必須なのは < と & だけで、> はこの終了シーケンスを構成する場合にのみエスケープします。
関連ツール
権威ある参考文献
このツールの根拠となる一次資料です。二次的な要約ではなく、公式の標準規格と仕様に基づいています。