2016-05-08 17 views
1

数年前、私はシンプルなRSSからSSSへのコンバーターを作ったので、RSSフィードをSecond LifeのLSLが処理できるフォーマットにすることができました。 数年前から(1月1日が正確)、1年以上にわたって正常に動作しています。それ以来、というエラーが投げられています。SimpleXmlElementが例外をスローしました

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/[username hidden]/public_html/API/rss2sss.php:4 Stack trace: #0 /home/[username hidden]/public_html/API/rss2sss.php(4): SimpleXMLElement->__construct('') #1 {main} thrown in /home/[username hidden]/public_html/API/rss2sss.php on line 4

コードrss2sss.phpに:

<?php 
$feedUrl = $_GET['rss']; 
$rawFeed = file_get_contents($feedUrl); 
$xml = new SimpleXmlElement($rawFeed); /*This is where the exception happens*/ 


$channel['title'] = $xml->channel->title; 
$channel['link'] = $xml->channel->link; 

echo '<sss>'; 

foreach ($xml->channel->item as $item) 
{  

    $article = array(); 
    $article['title'] = $item->title; 
    $article['link'] = $item->link; 

    echo ' 
    <pre> 
     <title>'; 
    echo $article['title'] .'</title> 
     <link>'; 
    echo $article['link']; 
    echo '</link> 
    </pre>'; 
} 

echo ' 
</sss>'; 
?> 

私が変換しようとしているRSSは、年間でフォーマットを変更していない、とthis feedから取られています。

コードが突然破損した理由を調べるのに役立つことは、サイトの訪問率にかなり大きな影響を与えているため、非常に高く評価されます。

+0

'$ rawFeed'の値を投稿できますか?これは' 'xml'で整形されていない可能性があります。 –

+0

@ARIFMAHMUDRANA rawFeedが空になったようですので、いいえ、私はフォーマットされていないと思います。 なぜ、なぜfeedURLが正しく表示されるかわかりません。 –

+0

フィードURLを投稿できますか? –

答えて

0

私はまだ何が起こったのか、どこが間違っているのかは分かりませんが、PHPではなく、RSSフィードを使用しています。

多くのキャッシュをパージして設定を行うと(何も表示されないようにする)、意図したとおりに突然動作を開始します。私は、問題を引き起こしたのはWordpress用のプラグインW3Cacheだと推測しました。それがなぜか始まった理由は分かりませんが、長い間働いた後で、そのプラグインを無効にすると(最後にすべてのキャッシュをパージした後(重要なステップ))、問題は解決しました。

XMLの書式設定が間違っていたかどうかはわかりませんが、古いフィードと新しいフィードのテキストを比較しましたが、唯一の違いは最新の更新のタイムコードです書式設定

関連する問題