現在取り組んでいるAndroidアプリの場合、RSSフィードから生のXMLデータを解析して表示できるようにしたいと思います。問題のRSSフィードは、公開にFeedburnerを使用しており、私のGoogle-fuは、これまでのところ、生のXMLを取得する方法について何も教えてくれませんでした。任意のヒント?
10 に答える
Google Chromeから、このようにURLを更新すると、生のxmlが取得されます。
ビューソース:http://feeds.feedburner.com/TheAppleBlog
URLにfmt=xmlを追加してみてください。例:http ://feeds.feedburner.com/blogname?fmt=xml 。
XPathQueryを使用して応答からデータを抽出するiOSSDKで、他にも奇妙な問題が発生しています。
Google Chromeでは、ここで説明する両方の方法を同時に適用する必要がある場合があります(?format=xml
および view-source:
)。
view-source:http://feeds.feedburner.com/TheRegardingBlog?format=xml
まだそれを理解していない人々のために:
ヘッダーなしでHTTPリクエストを送信して(つまり、ブラウザから送信しないでください)、生のRSSフィードを受信します。
Feedburnerフィードは、ブラウザーに生のXMLを送り返しますが、XMLマークアップのスタイルを設定するスタイルシートも送信するため、ブラウザーはXMLをスタイル付きコンテンツとしてレンダリングします。
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?>
ただし、提供されるデータはXMLです。
したがって、のようなクエリパラメータを追加する必要はまったくありません?format=xml
。リクエストからの応答をこれらのフィードの1つに記録するか、ソースを表示すると、XMLが表示されます。
@Shimmy @Jordan実際のところ、ページにアクセスするときにWebページのソースを確認すると、通常のアクセスではHTMLページが提供され、?fmt =xmlparamはXMLフィードを提供します。
XMLフィードもXSLスタイルシートを使用してフォーマットされ、xmlパラメーターを使用しない場合と同じ外観が得られるため、ブラウザーでも結果は同じままです。
ブロガーのFeedburnerの元のフィードURLは次のとおりです{blogname}/feeds / posts / default?alt = rss
次に、フラッシュチュートリアル(http://alaashaker.wordpress.com/2008/09/09/build-your-own-flash-rss-reader-tutorial-flash-actionscript-30/ )で変換します。
?format=xml
フィードの生のXMLを取得するために使用する必要があります。実際、フィードXMLを取得する両方の方法が機能します。しかしいつもではない。?format=xml
しかし、私が試したすべてのフィードで機能しましたが、?fmt=xml
機能しません。フィードXMLの表示ボタンが使用可能なfmt
フィードが使用するので、これはレガシーパラメータであると推測できます。format
多くの場合、FeedBurnerはXMLフィードを直接提供します(RSSを美化するために使用されるスタイルシートと混同しないでください)。
その非常に簡単です、ここでnを検索した後、私は最終的に1つの解決策を見つけました
http://www.blogger.com/feeds/blogId/posts/default
注:ブログIDを確認するには、まずBloggerにログインします。次に、IDを検索するブログを選択し、その名前をクリックします。
投稿、設定、またはテンプレートページのいずれかから、アドレスバーのURLを見ると、ブログのID番号を見つけることができます。アドレスの最後に、blogID = XXXXXXと表示されていることがわかります。ここで、XはブログのIDを表します。
「未使用」のRSSフィードの元のバージョンは、Feedburnerフィードのソースコードを表示する(またはダウンロードしてテキストファイルとして表示する)ことで抽出できます。元のフィードは、<channel>要素の<link> ...</link>タグの間に提供されます。また、XMLDOM検索を使用してJavaScriptまたはPHPを介して抽出することもできます。