0

RSS から XML ファイルを取り込み、特定のタグで解析する Web ページを作成しました。使用する予定のデータのローカル コピーでテストしたところ、正常に動作しました。問題は、別の Web ページで RSS ファイルを呼び出してそのデータを解析する方法を理解できないことです。

パーサーを設定するための私のコードは次のとおりです。

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", ".../NewsFeed.aspx?output=Atom", false);

RSS ページを調べたときに取得する xml ファイルのヘッダーは次のとおりです。

<?xml version="1.0" encoding="UTF-8" ?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
<title type="text"> News</title>
<subtitle type="text">A syndication of the most recently published news.</subtitle>

<id>uuid:64d61c8e-c5d7-4529-b5a3-2dcd4097238b;id=50</id>

<rights type="text">© 2013 <owner goes here>. All Rights Reserved.</rights>

<updated>2013-07-09T13:34:27Z</updated>

<link rel="alternate" href=".../Default.aspx" />
<link rel="self" href=".../NewsFeed.aspx" />

投稿目的でリンクを編集しました。RSS ドキュメントにリストされているリンクと外部フィードへの URL の両方を open xml メソッドで使用しようとしましたが、うまくいきませんでした。

 xmlhttp.open("GET", "link goes here", false);

RSS フィードの読み方を知っている人はいますか? ちなみに、フィードは Atom 形式で返される標準の RSS フィード (2.0) です。

4

1 に答える 1

0

初心者のために確認する2つのこと:

1) NewsFeed.aspx は、それを呼び出すページとまったく同じプロトコル、サブドメイン、ドメイン、およびポートでホストされる必要があります。そうしないと、ブラウザのセキュリティが作動し、XHR を使用できなくなります。サード パーティの RSS フィードを読み込もうとしている場合は、プロキシの使用が必要になる場合があります。

2) 応答の content-type ヘッダーは text/xml である必要があります。これを回避する方法はいくつかありますが、content-type が正確であることが望ましいです。

于 2013-07-18T19:25:11.167 に答える