2011-12-01 48 views
0

我對反序列化非常陌生,但我已經完成了反序列化幾個提要並提取操作數據的任務。在C#.Net中反序列化RSS提要

我已經得到了真實的結構是這樣這樣的RSS供稿:

<channel> 
     <title></title> 
     <link></link> 
     <description></description> 
     <ttl></ttl> 
     <item> 
      <title></title> 
      <link></link> 
      <description></description> 
      <pubDate></pubDate> 
      <guid></guid> 
     </item> 
     <item> 
在我的計劃

我有下面的類結構

[XmlRoot("channel")] 
public class RahChannel 
{ 
    [XmlElement("title")] 
    public string title { get; set; } 

    [XmlElement("link")] 
    public string link { get; set; } 

    [XmlElement("description")] 
    public string description { get; set; } 

    [XmlElement("ttl")] 
    public int ttl { get; set; } 

    [XmlElement("item")] 
    public ItemSet[] ItemArray { get; set; } 
} 

[XmlArray] 
class ItemSet 
{ 
    [XmlElement("title")] 
    public string itemtitle { get; set; } 

    [XmlElement("link")] 
    public string itemLink { get; set; } 

    [XmlElement("description")] 
    public string itemDescription { get; set; } 

    [XmlElement("pubDate")] 
    public string pubDate { get; set; } 

    [XmlElement("guid")] 
    public string guid { get; set; } 
} 

我使用的System.Xml.Serialization類明顯。

我擔心的是,元素的項目數組將不會得到他們應該的值,因爲他們與陣列外的元素共享名稱,也有我創建正確的數組?

我一直在使用這種結構來反序列化JSON提要,它在那裏工作,但我不確定是否已經正確地翻譯了它。

什麼是反序列化XML的實際方法?我知道MSDN說我可以做什麼(http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.deserialize%28v=vs.71%29.aspx),但我只想確認一下。 乾杯。

回答

1

使itemSet類公開。 另外,看看這個項目:http://argotic.codeplex.com/ - 也許你不需要實現相同的功能。

+0

我錯過了類設置爲公開,由於生成的類。 我已經明確告知不要爲該項目下載任何第三方插件或類,因爲最終版本將最終在雲端。一切都需要使用Visual Studio 2010 – Archaon6044