XMLファイルを開く
山かっこの壁ではなく、折りたためるツリーで表示します。不要な部分は閉じ、必要なものは検索し、属性と名前空間もはっきり確認できます。
- 保存しません
- 順番待ちなし
- 登録不要・透かしなし
XML、RSSフィード、SVG、設定ファイルを貼り付けると、ここにツリーとして表示されます。
使い方
貼り付けるかファイルをドロップ
XML、RSS、Atom、SVG、サイトマップ、設定ファイルなど、XMLならどれでも対応します。
ツリーをたどる
枝を折りたたみ、見たい枝を展開して、文書の階層の深さを確認できます。
中身を検索
全体を読まなくても、要素、属性、値を見つけられます。
実際にたどれるツリー
テキストエディタで見るXMLは山かっこの壁ですが、同じ文書もツリーにすれば読めるものになります。すべての要素が展開・折りたたみできる行になり、属性は行を埋め尽くすのではなく要素の横に表示され、入れ子はインデントで示されます。そのため、1万行のエクスポートから目的のレコードを1件探すのも、不要な枝を閉じていくだけで済みます。
要素が数百を超える文書は、意図的に ルートより下を折りたたんだ状態で開きます。大きなエクスポートのすべての行を先に描画すると、使えるようになるまで数秒かかり、その後のスクロールも重くなります。折りたたんだ状態から始めれば文書の全体像がすぐに見え、たいていはそれこそが知りたいことです。必要に応じて展開していくほうが速く、見慣れないファイルを理解する方法としても優れています。
外部からの取得も、参照の解決も一切行いません。 XML文書は外部のDTDやエンティティを参照でき、その参照をたどるパーサーは、ディスク上のファイルや社内ネットワークのアドレスなど、指している先を取りに行きます。これがXML外部エンティティ(XXE)脆弱性で、完全な防御は解決を拒否することだけです。そのため、外部DTDに依存する文書はそれなしで表示されます。これは機能不足ではなくセキュリティ上の性質で、ビューアーが最もよく使われる場面、つまり自分で書いていないファイルを調べるときにこそ重要になります。
名前空間は正規化せず、書かれているとおりに表示します。見慣れない文書では、接頭辞こそが理解したいものであることが多いからです。CDATAセクションは中身のテキストをそのまま表示し、エンティティ参照は展開せずに表示するので、画面に見えるものがファイルの中身と一致します。
ほかの目的には
探しているものが分かっているなら、閲覧するよりクエリを使いましょう。xmlstarlet sel -t -v "//order[@id='42']/total" data.xml はXPath式で特定の問いに答え、xmllint --xpath も同じことができます。欲しいものを言葉で表せるなら、ツリーを展開していくよりずっと速く済みます。
メモリに収まらないほど大きなファイルには、どのビューアーも役に立ちません。ツリーとして解析したXMLは、通常ファイルサイズの数倍のメモリを占めます。Pythonの iterparse のようなストリーミングパーサーなら、数GBの文書も一定のメモリで処理でき、less と xmllint --format があれば、巨大なファイルも読み込まずに構造を確認できます。
よくある質問
ファイルはどこかに保存されますか?
いいえ。何も保存されず、何も残りません。ページを読み込んだ後はWi-Fiを切っても動作します。
XMLが壊れている場合はどうなりますか?
行、列、文字が表示され、問題の行とその位置を示すキャレットも表示されます。XML構文チェックと同じ報告内容です。「解析できませんでした」とだけ表示するビューアーでは、結局何も分からないままです。
属性と名前空間は表示されますか?
はい。属性は隠さずに要素ごとに表示し、名前空間の宣言も明示します。宣言されていない接頭辞は、XMLがほかの環境で解析できない最もよくある原因の1つですが、プレーンテキストの表示では見分けられません。
RSSやAtomのフィードも開けますか?
はい。どちらもXMLです。サイトマップ、SVG画像、Androidのレイアウト、MavenのPOM、ほとんどの設定ファイルもXMLです。XMLであれば、ここで開けます。
XML整形とは同じものですか?
答える問いが違います。XML整形は、コピーしてファイルに戻せるインデント付きのXMLテキストを出力します。こちらは、枝を折りたためるツリーとして読んだり探索したりするためのものです。文書が大きく、編集ではなく何かを探しているときに向いています。
どのくらい大きなファイルを開けますか?
決まったサイズの上限ではなく、使用可能なメモリ次第です。大きな文書は折りたたんだ状態で開くので、何千ものノードが描画されるのを待たずに操作を始められます。
ご注意: 要素が数百を超える文書は、ルートより下を折りたたんだ状態で開きます。先に何千行も描画するのではなく、すぐに使えるようにするためです。文書全体をメモリに保持するため、非常に大きなXMLエクスポートの上限は、ツールではなくブラウザのタブの限界で決まります。
このツールをあなたのサイトに設置
ブログ、授業のページ、ヘルプ記事などに無料で設置できます。コードを1つ貼り付けるだけで、訪問者がそのページ上でツールを使えるようになります。