XML パーサー

XML ドキュメントを即座にフォーマット、検証、クエリ。ネイティブブラウザ API による高速でプライベートな処理。

フォーマット & 圧縮 XPath クエリ 検証

XML パーサーの使い方

1

XML を貼り付け

XML コンテンツを入力フィールドにコピー&ペーストするか、サンプル XML を読み込むをクリックしてください。

2

フォーマット & 検証

フォーマットで整形、圧縮で圧縮、検証でエラーチェックができます。

3

XPath でクエリ

XPath 式を入力して XPath を実行をクリックすると、特定のノードを抽出できます。

XML とは

XML(eXtensible Markup Language)は、ドキュメントを人間と機械の両方が読める形式でエンコードするためのルールを定義するマークアップ言語です。設定ファイル、データ交換(SOAP、RSS、Atom)、ドキュメント保存に広く使用されています。

XML の主な特徴

自己記述的

XML はカスタムタグでデータ構造を記述するため、内容と階層が一目で分かります。

プラットフォーム非依存

プレーンテキストとして、すべてのプラットフォーム、プログラミング言語、システム間で互換性の問題なく動作します。

拡張可能

DTD や XML Schema を使用して独自のタグとドキュメント構造を定義し、あらゆるデータモデルに対応できます。

よくある質問

整形式の XML と妥当な XML の違いは何ですか?

整形式の XML は XML の基本的な構文ルール(適切な入れ子、閉じタグ、単一のルート要素)に従っています。妥当な XML は整形式であり、かつ許可される構造とデータ型を定義したスキーマ(DTD、XSD)に準拠しています。

XSD スキーマによる検証には対応していますか?

いいえ、このツールは整形式チェック(構文の正確さ)のみを行います。DTD や XSD に対するスキーマベースの検証はブラウザではネイティブにサポートされていません。

どの XPath バージョンに対応していますか?

ブラウザのネイティブ document.evaluate() は XPath 1.0 に対応しています。contains()、text()、@attribute などの関数、軸、述語を含む一般的なクエリのほとんどをカバーしています。

XML 名前空間とは何ですか?またどのように読み取られますか?

名前空間は xmlns 属性によって要素名を URI に対応付ける仕組みです。例えば xmlns:atom="http://www.w3.org/2005/Atom" を宣言する atom:feed 要素がその例です。プレフィックスは任意の名前でよく、名前空間を識別するのは URI だけです。そのため、2つのドキュメントが同じ語彙に対して異なるプレフィックスを使うことができます。プレフィックスが異なる場合に XPath のマッチングで local-name() を使ったテクニックが必要になるのは、この名前空間の仕組みが理由です。

XPath はどのようにノードを選択しますか?

XPath 1.0 の式はツリーをたどります。/rss/channel/item はパスで選択し、//item はドキュメント内のどこにある item も見つけ、item[@type='news'] は属性で絞り込み、item[1] や item[last()] のような述語は特定のノードを選びます。XPath は XSLT、多くのテストフレームワーク、そしてこのツールの評価エンジンの背後にあるクエリ言語です。

XXE とは何ですか?このツールに影響しますか?

XXE(XML 外部実体)インジェクションは、ファイルパスや URL を参照する DTD エンティティを悪用してサーバーサイドのパーサーにそのリソースを取得させる攻撃で、かつては /etc/passwd や内部サービスの情報漏洩につながりました。ブラウザの XML パーサーは外部エンティティを解決せず、このツールはサーバーとの往復なしに完全にブラウザ内で動作するため、貼り付けた XML がファイル読み取りや SSRF を引き起こすことはありません。

DOM パースと SAX パースの違いは何ですか?

DOM はドキュメント全体をツリーとして読み込み、任意の位置にアクセスできます。直感的ですが、巨大なファイルではメモリを大量に消費します。SAX は開始タグ、テキスト、終了タグといったイベントを単一パスでストリーミングし、メモリ使用量は一定です。高速ですが前方方向にしか進めません。ブラウザの JavaScript では DOMParser(DOM 方式)が利用でき、JavaScript でストリーミング XML を扱うにはライブラリまたは Web Streams が必要です。

XML の内容に < や & を含めるにはどうすればよいですか?

通常のテキスト内では &lt; と &amp; としてエスケープします。文字データに生の < や & をそのまま書くのは不正です。マークアップを多く含むテキストのブロックは CDATA セクションで囲めば、末尾の ]]> という並びに当たるまでエスケープが不要になります。内容の中でエスケープが厳密に必須なのは < と & だけで、> はこの終了シーケンスを構成する場合にのみエスケープします。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}