2

こんにちは、RSS フィード アイテムを保存するためのこのクラスがあります。それらのリストがあり、それを Windows Phone 7 の分離ストレージに保存したいと考えています。クラスをシリアル化し、単一の RSS アイテムの単一のオブジェクトとして分離ストレージに保存する方法を知っています。

 public class RssItem
{       
    public RssItem(string title, string summary, string publishedDate, string url ,string subtitle ,string duration, Enclosure enclosure)
    {
        Title = title;
        Summary = summary;
        PublishedDate = publishedDate;
        Url = url;
        Subtitle = subtitle;
        Enclosure = enclosure;
        Duration = duration;
        PlainSummary = HttpUtility.HtmlDecode(Regex.Replace(summary, "<[^>]+?>", ""));
    }

   public string Title { get; set; }
   public string Summary { get; set; }
    public string PublishedDate { get; set; }
    public string Url { get; set; }
    public string PlainSummary { get; set; }
    public Enclosure Enclosure { get; set; }
    public string Description { get; set; }
    public string Mp3Url { get; set; }
    public string Subtitle { get; set; }
    public string Duration { get; set; }
}

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

4

xmlserializer を使用して実行できます。

リストを保存するためのコードは次のとおりです。

 var store = IsolatedStorageFile.GetUserStoreForApplication();
     if (store.FileExists(filePath))
            {
                store.DeleteFile(filePath);
            }
         using (var stream = new IsolatedStorageFileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write, store))
         {
            var serializer = new XmlSerializer(typeof(List<RssItem>));
            serializer.Serialize(stream, RssItemsList);
         }

取得するコードは次のとおりです。

var store = IsolatedStorageFile.GetUserStoreForApplication();

        if (store.FileExists( filePath))
        {
            using (var stream = new IsolatedStorageFileStream( filePath, FileMode.OpenOrCreate, FileAccess.Read, store))
            {
                var reader = new StreamReader(stream);

                if (!reader.EndOfStream)
                {
                    var serializer = new XmlSerializer(typeof(List<RssItem>));
                        RssItemsList= (List<RssItem>)serializer.Deserialize(reader);
                }
            }
        }

DataContractJsonSerializer クラスを使用して Json 形式で行うこともできます

于 2012-12-24T09:15:38.320 に答える