try the following:
protected void Page_Load(object sender, EventArgs e) { XmlDocument xdoc = new XmlDocument();
LoadXml expects an xml string directly, where Load can use uri to capture xml data. With your code, the xml parser actually tried to parse the address as xml, not the content in the uri location.
[Edit] , you can take a look at the built-in .Net Framework feed handling classes. These classes are located in the System.ServiceModel.Syndication namespace . They can easily work with parsing work.
source share