次の URL から RSS フィードを解析しています。
http://rss.sciam.com/ScientificAmerican-Global?format=xml
// $xml_text is filled with the contents read from the URL
$xml_parser = xml_parser_create();
$res = xml_parse($xml_parser, $xml_text);
if (!$res) {
$error =
xml_error_string(xml_get_error_code($xml_parser)).
" at line ".
xml_get_current_line_number($xml_parser);
}
// $error contains: "SYSTEM or PUBLIC, the URI is missing at line 1"
FeedValidator.orgは、これは良いフィードだと言っています。
PHP の XML パーサーでこのエラーを回避するにはどうすればよいですか?
編集: ユーザー エージェントに基づいて、このフィードを別の場所にリダイレクトしているようです。PHP スクリプトが正しいフィードを取得していません。