結論から
- XMLは構造化された情報を記述・交換するためのマークアップ言語で、ルート要素を1つにし、要素を正しく入れ子にして開始タグと終了タグの名前を一致させる必要があります。
- WindowsやmacOSでは、XMLエディターまたはデータの用途に対応するアプリの「開く」からファイルを選択します。スマートフォンでは、その端末への対応を明記したXMLビューアーや専用アプリを選びます。オンラインで表示する場合は、対応する入力方法とファイルの扱いを確認してください。構造を表示できても、元のアプリの機能まで使えるとは限りません。
- リスクはパーサーの設定によって変わります。外部実体を許可すると、ファイルの漏えい、サーバー側からの不正なリクエスト、内部ネットワークへのアクセスにつながる場合があります。実体の展開はサービス拒否を引き起こすこともあります。OWASPは不要なDTDと外部実体の無効化を推奨しています。正常に解析できることは、内容の信頼性を保証しません。
XMLファイルの開き方・文字化け対策・変換
Extensible Markup LanguageはW3Cの標準で、SGMLのサブセットです。要素には属性やテキストを含められます。RFC 7303はapplication/xmlを登録し、text/xmlをその別名としています。XMLに共通のマジックナンバーはないため、固定のファイルヘッダーだけですべてのXMLを識別することはできません。汎用ツールは構文を処理しますが、データの意味は利用するアプリケーションによって異なります。
Excel、JSON、プレーンテキストへ変換する前に、入れ子の要素、属性、テキストと要素が混在する内容をどう対応付けるか決めます。単純な表やテキストへの変換では関係が失われる場合があります。解析後の再出力では改行と属性値が正規化され、コメントが残らないこともあります。厳密な保存が必要なら元ファイルを保管してください。
開き方
WindowsやmacOSでは、XMLエディターまたはデータの用途に対応するアプリの「開く」からファイルを選択します。スマートフォンでは、その端末への対応を明記したXMLビューアーや専用アプリを選びます。オンラインで表示する場合は、対応する入力方法とファイルの扱いを確認してください。構造を表示できても、元のアプリの機能まで使えるとは限りません。
WindowsやmacOSでは、XMLエディターまたはデータの用途に対応するアプリの「開く」からファイルを選択します。スマートフォンでは、その端末への対応を明記したXMLビューアーや専用アプリを選びます。オンラインで表示する場合は、対応する入力方法とファイルの扱いを確認してください。構造を表示できても、元のアプリの機能まで使えるとは限りません。
Excel、JSON、プレーンテキストへ変換する前に、入れ子の要素、属性、テキストと要素が混在する内容をどう対応付けるか決めます。単純な表やテキストへの変換では関係が失われる場合があります。解析後の再出力では改行と属性値が正規化され、コメントが残らないこともあります。厳密な保存が必要なら元ファイルを保管してください。
安全チェック
リスクはパーサーの設定によって変わります。外部実体を許可すると、ファイルの漏えい、サーバー側からの不正なリクエスト、内部ネットワークへのアクセスにつながる場合があります。実体の展開はサービス拒否を引き起こすこともあります。OWASPは不要なDTDと外部実体の無効化を推奨しています。正常に解析できることは、内容の信頼性を保証しません。
送り主が分からない、拡張子が二重になっている、中身が拡張子と合わない——一つでも当てはまるなら、開く前に確かめてください。
変換するときは
Excel、JSON、プレーンテキストへ変換する前に、入れ子の要素、属性、テキストと要素が混在する内容をどう対応付けるか決めます。単純な表やテキストへの変換では関係が失われる場合があります。解析後の再出力では改行と属性値が正規化され、コメントが残らないこともあります。厳密な保存が必要なら元ファイルを保管してください。
元ファイルではなくコピーを変換し、変換後に画質・メタデータ・レイアウトを元と見比べてください。
よくある質問
XMLファイルとは何で、何に使いますか?
XMLは要素、属性、テキストを使って構造化された情報を記述・交換する形式です。汎用ツールで構文を処理できますが、データの意味や使い方はアプリケーションによって決まります。
XMLファイルをオンラインで表示する方法は?
オンラインXMLビューアーを選び、対応する入力方法とファイルの扱いを確認してから開きます。端末内だけで処理されるとは限りません。構造の表示だけでは、元のアプリの機能は利用できません。
WindowsでXMLファイルを開く方法は?
XMLエディターや、そのデータに対応するアプリの「開く」から選択します。用途固有の機能が必要な場合は対応するアプリを使ってください。汎用エディターが処理するのはXMLの構文です。
MacでXMLファイルを開く方法は?
macOS対応のXMLエディター、またはデータの用途に対応するアプリの「開く」でファイルを選択します。XML構文への対応だけでは、用途固有のデータ解釈まで保証されません。
スマートフォンでXMLファイルを開く方法は?
使用する端末への対応を明記したXMLビューアーや適切なアプリを選び、ファイルを開く機能を使います。アプリがスマートフォンのOSと、受け付けるファイルサイズを明記しているか確認してください。
XMLファイルの構文エラーはどう確認しますか?
XMLパーサーやエディターで問題の位置を確認します。ルート要素が1つか、要素の入れ子が正しいか、開始タグと終了タグの名前が一致するかを調べてください。構文が正しくてもアプリ固有の要件を満たすとは限りません。
XMLファイルの文字化けや文字コードエラーを直す方法は?
実際のバイト列の文字コードとエンコーディング宣言が一致しているか確認します。XML処理系はUTF-8とUTF-16への対応が必須ですが、ほかの文字コードは任意です。不一致は致命的な解析エラーになる場合があり、宣言だけ変えてもバイト列は変換されません。
構造化データを残すにはXMLとプレーンテキストのどちらを使いますか?
要素の階層や属性を残したい場合はXMLを使います。文字を読むだけならテキスト出力が役立つ場合もありますが、対応付けの規則がないと階層や混在する内容の関係が失われる可能性があります。
XMLをExcelに変換して構造を保つにはどうしますか?
繰り返しや入れ子の要素、属性、混在するテキストを行と列へどう対応付けるか決めます。単純な表ではすべての関係を保てない場合があります。変換ツールの対応付けを確認し、結果を元のXMLと比較してください。
XMLをJSONに変換して属性と階層を保つにはどうしますか?
属性と要素を区別し、階層と、必要に応じて混在する内容の順序を残す対応付けを明示します。自動的に保たれると考えず、変換ツールの規則と出力結果を確認してください。
知らない送信者から届いたXMLファイルを開いても安全ですか?
安全性はパーサーの設定にも左右されます。外部実体はファイルの漏えいやネットワークリクエストを引き起こし、実体の展開はリソースを使い尽くす場合があります。OWASPは不要なDTDと外部実体の無効化を推奨しています。
XMLファイルを解析して再出力すると元のバイト列を保てますか?
保証されません。解析時には改行や属性値が正規化され、処理系がコメントをアプリに渡さない場合もあります。元の書式、コメント、バイト単位の一致が必要なら、元ファイルを保管してください。
関連する形式
参考資料
Extensible Markup Language (XML) 1.0 (Fifth Edition) · W3C 官方推荐标准
RFC 7303: XML Media Types · IETF 标准轨道 RFC,包含媒体类型注册
XML External Entity Prevention Cheat Sheet · OWASP 官方安全指南