2011-07-15 12 views
0

こんにちは、私はPHPを使用してニュースフィードを作成しようとしています。私はデータベースに接続し、XMLに変換された情報を取得するPHPコードを書いています。しかし、ファイルは.phpで、Googleリーダーを使って解析しようとすると、XMLであるファイルしか読み込まれないため、仕事をしません。ここに私のコードは次のとおりです。phpはRSSフィードのxmlを生成しますが、ファイルがPHPであるため解析できません

<?php 
header("Content-type: text/xml"); 
$dept = $_GET['dept']; 
require_once ("/var/www/html/http/sass/includes/config.inc.php"); 
require_once ("sass_news.php"); 
$sassNews = paginate('sass_news', 'sass_news', $numResults, $offset, $order, $condition); 
if($sassNews) { 
    $xml_output = "<?xml version=\"1.0\"?>\n"; 
    $xml_output .= "<entries>\n"; 

     foreach($sassNews as $newsDetail){ 
     $xml_output .= "\t<entry>\n"; 
     $xml_output .= "\t\t<date>" . $newsDetail->news_start_date . "</date>\n"; 
     $xml_output .= "\t\t<text>" . $newsDetail->news_body_en . "</text>\n"; 
     $xml_output .= "\t</entry>\n"; 
    } 

    $xml_output .= "</entries>"; 

    echo $xml_output; 

} 
?> 
+0

である必要があります。ファイル拡張子をXMLとして設定しても、WebサーバーでPHPコードが実行される可能性があります。どのWebサーバーを使用していますか? –

+0

文字列をバッシングしてXMLを記述している場合、おそらく無効なXMLが生成されている可能性があります。 XMLライブラリを使用してXMLを構築し、[validate](http://validator.w3.org/feed/) – Quentin

答えて

1

は、スクリプトの先頭にheader('Content-disposition: attachment; filename=somename.xml');をお試しください。ただし、Googleリーダーで文字通り末尾が.xmlであるURLのみを許可する場合は、.xmlファイルをPHPスクリプトとして扱い、このスクリプトの名前をwhatever.xmlに変更する必要があります。

1

RSS specificationは、有効なマークアップのようには見えませんか?それは、rssノード、channelノード、およびその他の良いものがたくさんあります。また、コンテンツタイプはapplication/rss+xml

+0

フィードを確認するには、フィード検証サービスを使用します。http://validator.w3.org/feed / – Kwebble

関連する問題