C# 如何反序列化RSS?

C# 如何反序列化RSS?,c#,xml,rss,deserialization,C#,Xml,Rss,Deserialization,这是我的代码: var objectText = XmlReader.Create(requestedURL); XmlSerializer mySerializer = new XmlSerializer(typeof(InstagramItems)); var instagramItems = (InstagramItems)mySerializer.Deserialize(objectText); 但它似乎不能与RSS(或多或少是XML)一起工作: 服务器错误-不应出现。 我怎么做?我

这是我的代码:

var objectText = XmlReader.Create(requestedURL);
XmlSerializer mySerializer = new XmlSerializer(typeof(InstagramItems));
var instagramItems = (InstagramItems)mySerializer.Deserialize(objectText);
但它似乎不能与RSS(或多或少是XML)一起工作:

服务器错误-不应出现。
我怎么做?我相信有一些.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>

Instagram上标记为“示例”的照片
http://instagram.com
Instagram上标记为“示例”的照片

XmlSerializer可以使用特定的xml格式,如果您使用任何其他格式,则它希望会抛出所述异常


您可以手动解析xml并从解析后的xml创建InstagramItems,我建议您使用linq to xml这里是一个示例

XmlSerializer使用特定的xml格式,如果您使用任何其他格式,则它预期会引发Meteod异常


您可以手动解析xml并从解析后的xml创建InstagramItems,我建议您使用linq to xml这里是一个示例

步骤1:下载RSS XSD:

步骤2:使用xsd.exe根据模式生成RSS类型

步骤3:如果objectText只是一个RSS文档,那么在上面的代码中用新创建的RSS类型替换InstagramITems即可


步骤3a:如果目标文本是Instagram和RSS代码的混合,则在尝试反序列化之前,请使用DataContractSerializer并向DataContractSerializer预注册Instagram和RSS类型。步骤1:下载RSS XSD:

步骤2:使用xsd.exe根据模式生成RSS类型

步骤3:如果objectText只是一个RSS文档,那么在上面的代码中用新创建的RSS类型替换InstagramITems即可


步骤3a:如果目标文本混合了Instagram和RSS代码,然后使用DataContractSerializer并在尝试反序列化之前向DataContractSerializer预注册Instagram和RSS类型

能否发布一段XML文档?能否发布一段XML文档?我从外部资源获取RSS,我无法管理它!我只是下载和处理…您没有更改RSS xml。您正在使用xsd生成rss可以反序列化到的c#类型,在本例中为RssItem。我从外部资源获取rss,我无法管理它!我只是下载和处理…您没有更改RSS xml。您正在使用xsd生成rss可以反序列化到的c#类型,在本例中为RssItem。
<?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>