5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

RSSフィードのXMLファイルのチェック


現在ゲームブログランキングを表示するサイトを開発してサポートしています。その中でRSSを指定してもらって、ブログの記事を取り込むという機能を作っています。

ある日、ユーザーからブログの記事が取り込めないという障害レポートがありました。手動で取り込んでみると途中でエラーになって取り込めません。

RSSフィードのXMLファイルの取得と解析は、SimplePieというライブラリを使っています。SimplePieのサイトにあるデモページから、障害の発生するRSSのURLを指定すると、<title>の行でおかしな文字でエラーと表示されます。しかし、<title>に指定されているのは普通の文字です。エラーになる文字は含まれていません。

仕方ないので、SimplePieのコードを追ってみます。PHPのxml_parser()でエラーを吐き出していることがわかりました。

XMLファイルを直接読み込ませてみて、どの記事エラーになるかを、XMLファイルを削除しながらチェックしていきます。すると、ある記事に制御コードが含まれていました。このコードを削除すると、正常にRSSフィードを読み込みと解析が終了します。

以上、面倒なことをやっていましたが、もっと簡単にXMLファイルをチェックする方法がありました。Internet ExplorerでXMLを開くだけです。Chromeは無理矢理読み込みをしてくれて、Firefoxは途中の関係ないところで終了します。Internet Explorerは厳密にチェックをしてくれるようです。しかし、どこがおかしいかは教えてくれません。秀丸エディタのようなテキストエディタでXMLファイルを開いて探した方が早いです。

[amazonjs asin=”479735366X” locale=”JP” title=”やさしいXML 第3版”]