Firefoxでモバイルサイトなどで「XML パースエラー: 整形式になっていません」というエラーで閲覧できない場合の強制表示方法メモ
このエラーが出てしまうと、表示すらできなくなってしまうので、チェックするのもちょっと手間がかかるのが問題です。
基本的には配信先の記述ミスなので、自力での対応も難しい場合が多かったりと中々やっかいなエラーだと言えます。
目次
「XML パースエラー: 整形式になっていません」の原因
そもそもこのエラーはXML文書内に不正な文字列が含まれている時などに吐かれるので、記号などがエスケープされていなかったりするケースが目立ちます。
他にもタグ同士で囲まれていなかったり、きちんとした構文になっていないのが主な原因となります。
これはもしも外部サイトから取得しようとしている場合には、自力では対応できないケースもあるので、間違った構文だろうと強制的に表示する方が手っ取り早いと思います。
「XML パースエラー: 整形式になっていません」の強制表示
1.Firefoxのアドオン「Force Content-Type」をインストールします。
これはContent-Typeの設定を柔軟に変えられるので、特定のページ(エラーがでているページ)をXMLとしてではなく、HTMLとして読み込んだりすることができます。
2.Force Content-Type の設定画面を開いて”Disable Force Content-Type” のチェックボックスを外します。
3.新規作成ボタンから「対象URL・現在のタイプ・変更するタイプ」を入力します。また、「application/xhtml+xml」から「text/html」に変更させましょう。「New Content-Type : html/text」
4.エラーが出ていたページにアクセスします。おめでとうございます。強制的にHTMLとして表示されるので、記述ミスの部分を探したり、煮たり焼いたりは自由です。
Force Content-Typeの注意点
あくまでも強制的に表示させているだけなので、根本解決はできません。
Firefoxは今回のような「XML パースエラー: 整形式になっていません」というエラーのおかげで不正文字などを発見するのにも役立ちますので、そのデバッグとしての利用が望ましいです。
ちなみに統計上一番多かったパースエラーは本来「&」にすべき部分を「&」と表示させているXMLでした。
見落としやすいパースエラーの記号としては以下のようなものもありますので確認してみてください。
「"」 → 「”」
「'」 → 「’」
まとめ
Firefoxさん。それぐらいのミスは見逃して下さいませんか?と思っていましたが、かなり厳密にXMLを読み込んでいるという安心感だと思えば、自分がいざ吐き出したXMLのチェックにもありますので重宝しそうです。
今回のような強制的な表示で乗り切ってしまうのを癖にしてしまいたくはないですね。
今日も知識欲は止まらない。