PHPのXML_RPCを使用して、RSSを読み取るプログラムを作っているのですが、


XML_RSSクラスの初期化時に、存在しないURLを指定した場合、どこでエラー処理が発生しますでしょうか?

ちなみに、下記の流れでRSSを取得しております。

//URLを指定
$rss = new XML_RSS("うそっURL");

//RSSの内容を解析
$rss->parse();
//RSS情報を取得
$channel = $rss->getChannelInfo();
//記事情報を取得
$items = $rss->getItems();

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/05/29 00:35:08
  • 終了:2006/06/05 00:40:03

回答(3件)

id:yoneto164 No.1

ヨネちゃん回答回数813ベストアンサー獲得回数942006/05/29 00:46:21

ポイント27pt

$rss = new XML_RSS("うそっURL");

の行にてエラーが出ました。

Fatal error: Cannot instantiate non-existent class: xml_rss in 絶対パス on line xx

http://www.atmarkit.co.jp/fxml/rensai/w3cread04/w3cread04.html#c

id:makocan

どの様にエラーが出たのでしょうか?

または、どこから、取得されたのでしょうか?

ちなみに、僕の環境では、エラーは表示されずに、真っ白でした。。・

2006/05/29 01:57:13
id:riaf No.2

riaf回答回数13ベストアンサー獲得回数02006/05/29 01:05:44

ポイント27pt

URLをセットした時点で、パーサのsetInputFileが呼ばれるはずなので、エラーが起こるとしたらそこですかね。

なので、$rss = new してる次でPEAR::isErrorとかで見ちゃってOKだと思います。

http://pear.php.net/package/XML_Parser

id:makocan

if (!PEAR::isError($rss)){print "エラー"}という感じにしたのですが、期待通りに着ませんでした(^^;

すみません。やり方が違いますでしょうか?

2006/05/29 01:58:13
id:riaf No.3

riaf回答回数13ベストアンサー獲得回数02006/05/30 23:02:47

ポイント26pt

if (!PEAR::isError($rss)){print "エラー"}

だとダメですね。

isErrorはエラーのときにtrueになるので、

if (PEAR::isError($rss)){print "エラー"}

じゃないでしょうか?

// コード追ってないので間違ってるかもしれませんが…

http://pear.php.net/package/XML_Parser

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません