2

私は Windows Phone アプリを作成しSyndicationFeedており、RSS フィードの読み取りに使用しています。フィードから画像を取得するにはどうすればよいですか?

コンバーター(?)が必要ですが、何が入るかわかりません。プロパティがあるのを見て、ImageUrlそれを使ってみましたが、喜びはありませんでした。:(

写真は、フィード (定義済み) と一緒にカテゴリ別にフィルター処理する必要があります。フィードをフィルタリングする方法を知っています(寛大なフォーラムメンバーが助けてくれました:))画像を取得するだけでも問題があります。

背景として MSDN の例を使用しています: http://msdn.microsoft.com/en-us/library/hh487167(v=vs.92).aspx

私のフィード: http://www.zimo.co/feed/


この正規表現を使用して、フィードから画像を取得します。

Regex rg = new Regex(@"<img.*?src=""(.*?)""", RegexOptions.IgnoreCase);

しかし、問題はそれをどのように実装するかです。だから私は同時にフィードと写真を取得します:(

これは私が使用するコードです:

private void UpdateFeedList(string feedXML)
    {
        StringReader stringReader = new StringReader(feedXML);
        XmlReader xmlReader = XmlReader.Create(stringReader);
        SyndicationFeed feed = SyndicationFeed.Load(xmlReader);


Regex rg = new Regex(@"<img.*?src=""(.*?)""", RegexOptions.IgnoreCase);


        Deployment.Current.Dispatcher.BeginInvoke(() =>
        {

ls_text.ItemsSource = feed.Items;


        });
    }
4

1 に答える 1

0

RSS 仕様には、処理中のものを表す単一の画像を提供するものは何もありません<item>。画像が必要な場合は、<content>要素を解析して、要素のコンテンツから 1 つまたは複数の画像を引き出すことができます。

ソースから画像リンクを取得するには、テキストを解析して、テキスト<img>内のすべてのタグの一致を取得する必要があります。いくつかの方法でこれを行うことができます。img タグの RegEx 一致を試みるか、テキストを XML ドキュメントにロードして解析することができます。問題は、これは完全な HTML ではないため、少し変更する必要がある場合があることです (たとえば、コンテンツがまだタグで囲まれていない場合は、コンテンツを囲む一連のタグを配置する必要<p>ある場合があります。

于 2012-04-09T12:50:58.557 に答える