Hi I’am try to read digg feed, but my code doesnt not return any item from RSS, I think the Namespace is the problem
<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:digg="http://digg.com/docs/diggrss/" xmlns:media="http://search.yahoo.com/mrss/">
<title>Top News</title>
<subtitle>Top News</subtitle>
<updated>2012-03-10T13:27:08Z</updated>
<link href="http://services.digg.com/2.0/story.getTopNews?type=rss" rel="self"/>
<id>http://services.digg.com/2.0/story.getTopNews?type=rss</id>
<link href="http://pubsubhubbub.appspot.com/" rel="hub"/>
<author>
<name>Digg</name>
</author>
<entry>
<title>The Windows 8 Power Struggle: Metro vs Desktop and Why They Don't Mesh Well</title>
<link href="http://digg.com/news/technology/the_windows_8_power_struggle_metro_vs_desktop_and_why_they_don_t_mesh_well?utm_campaign=Feed%3A+http%3A%2F%2Fservices.digg.com%2F2.0%2Fstory.getTopNews%3Ftype%3Drss&utm_medium=feed&utm_source=diggapi"/>
<content type="html">Metro, Microsoft's new UI, is bold, a dramatic departure from anything the company has previously done in the desktop/laptop space, and absolutely great. It's tangible proof that Redmond really can design and build its own unique products and experiences. However, the transition from Metro's start, for desktop users, is jarring and worse yet, Desktop mode and Metro don't mesh well at all..</content>
<updated>2012-03-09T17:12:03Z</updated>
<digg:diggCount>
92
</digg:diggCount>
<digg:category>
Technology
</digg:category>
<digg:commentCount>
3
</digg:commentCount>
<media:thumbnail height="62" url="http://cdn1.diggstatic.com/story/the_windows_8_power_struggle_metro_vs_desktop_and_why_they_don_t_mesh_well/t.png" width="62"/>
<media:group>
<media:content height="160" url="http://cdn3.diggstatic.com/story/the_windows_8_power_struggle_metro_vs_desktop_and_why_they_don_t_mesh_well/l.png" width="160"/>
<media:content height="48" url="http://cdn1.diggstatic.com/story/the_windows_8_power_struggle_metro_vs_desktop_and_why_they_don_t_mesh_well/s.png" width="48"/>
<media:content height="120" url="http://cdn1.diggstatic.com/story/the_windows_8_power_struggle_metro_vs_desktop_and_why_they_don_t_mesh_well/m.png" width="120"/>
<media:content height="62" url="http://cdn1.diggstatic.com/story/the_windows_8_power_struggle_metro_vs_desktop_and_why_they_don_t_mesh_well/t.png" width="62"/>
</media:group>
<id>http://digg.com/news/technology/the_windows_8_power_struggle_metro_vs_desktop_and_why_they_don_t_mesh_well</id>
</entry>
With this sample of code
var xmlPath = "/feed/entry";
var xmlDoc = new XmlDocument();
var webClient = new WebClient();
var stream = new MemoryStream(webClient.DownloadData("http://services.digg.com/2.0/story.getTopNews?type=rss"));
xmlDoc.Load(stream);
var mgr = new XmlNamespaceManager(xmlDoc.NameTable);
mgr.AddNamespace("ns", "http://www.w3.org/2005/Atom");
XmlNodeList xmlNode = xmlDoc.SelectNodes(xmlPath, mgr);
int count = xmlNode.Count;
Console.WriteLine("Count : "+count);
//Console.WriteLine(xmlNode.Name + ": " + xmlNode.InnerText);
Console.ReadKey();
What I’am dogin wrong!?!? Other Problema that I’ve is how to get this tag in different namespace
<digg:category>
Technology
</digg:category>
Thaks
When you call
mgr.AddNamespace("ns", "http://www.w3.org/2005/Atom"), it defines the namespace prefixns, which you can then use in your XPath query. But you have to actually use it:Although if I were you, I would use a more descriptive prefix, like
atom, ora.