2013-07-17 82 views
0

這是我的代碼:如何反序列化RSS?

var objectText = XmlReader.Create(requestedURL); 
XmlSerializer mySerializer = new XmlSerializer(typeof(InstagramItems)); 
var instagramItems = (InstagramItems)mySerializer.Deserialize(objectText); 

,但似乎不能與RSS的工作(這是 「XML或多或少」):

Server Error - <rss xmlns=''> was not expected. 

我該怎麼辦呢?我相信有沒有使用第三部分插件.NET庫。在RSS的

部分:

<?xml version="1.0" encoding="UTF-8"?> 
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss" xmlns:media="http://search.yahoo.com/mrss/" version="2.0"> 
<channel> 
    <title>Photos tagged as "example" on Instagram</title> 
    <link>http://instagram.com</link> 
    <description>Photos tagged as "example" on Instagram</description> 
    <atom:link href="http://instagram.com/tags/example/feed/recent.rss" rel="self" /> 
</channel> 
+0

請您發表一塊XML的前兩者的Instagram和RSS類型的DataContractSerializer的文件? –

回答

2

第1步:下載RSS XSD:http://www.thearchitect.co.uk/schemas/rss-2_0.xsd

第2步:使用xsd.exe根據模式生成RSS類型

步驟3:如果objectText只是一個RSS文檔,那麼只需將您新創建的RSS類型替換爲以上代碼中的InstagramITems。

步驟3a:如果對象文本混合的Instagram和RSS代碼,然後使用DataContractSerializer的和預註冊嘗試反序列化

+0

我從外部資源獲取RSS,我無法管理它!我只是下載和處理... – markzzz

+0

你並沒有改變RSS XML。您正在使用xsd生成rss可以反序列化的c#類型,在這種情況下爲RssItem。 –