Stringcould not be parsed as XMLと怒られる

String could not be parsed as XML

というブラウザ上の表示が私を悩ませます(--#
httpヘッダに表示されているのは、400 Bad Requestです。
情報これだけorz




HTMLScrapingを使って、よそのhtmlからRSSを生成するステージ、最終章です。

cookieを使ってアクセス制御してたり
・やたらtableタグを使って複雑になっていたり
・要素が決まった場所になかったり
(まぁDBから生成しているページがほとんどなのでたかがしれてますけど)
というのを10サイト以上。
入門PHPerには高いハードルでしたが、ほとんど終わりです。


上記エラーを除いては。
読んで字のごとくXMLとしてパースできませんよ、って内容です。


変換元のサイトのhtmlがおかしすぎて変換できないのかと思いました。
htmlをチェックして、修繕依頼もしました
(しかも迅速に対応していただいた!)


それでも変わりません(--#
うんうん考えたあげく、答えがわからないので、いつもの対策をやってみました。


対象となるhtmlソースをダウンロードして、自分のサーバにアップしてみる。
スクリプトの参照先を上のアップ先に変更する。
同じ症状がでるか?→でる
htmlソースの量を最小限にしてもでるか→でない


htmlソースのせいだ!
確かにこのhtml、この1ファイルだけ(テキストのみ)で250KB弱あります。


どおりで私のロースペックマシンでは画面が重いわけです。
この量のhtmlをxmlに変換しようとしてこけるから上記エラーなわけですね。


道が開けたよ、ままん。
あと一息、です。



2009/07/16 11:19追記
開けてませんでしたorz
正しい原因を発見したのでリンクしておきます。