由于xml错误,无法从链接读取rssfeed

时间:2013-12-20 11:58:47

标签: c# xml-parsing

http://lankadeepa.lk/index.php/maincontroller/breakingnews_rss

这是一个突发新闻网站的rssfeed链接..我想从中获取最新消息的链接。这是我试过的代码。

private void Form1_Load(object sender, EventArgs e)
    {
        XmlDocument lankadeepafeed = new XmlDocument();

        try
        {
            lankadeepafeed.Load("http://lankadeepa.lk/index.php/maincontroller/breakingnews_rss/");
            XmlNode page = lankadeepafeed.DocumentElement;

            XmlNodeList newslinks = page.SelectNodes("//link");

            foreach (XmlNode newslink in newslinks)
            {
                textBox1.Text += newslink.OuterXml;
            }
        }
        catch (Exception ex)
        {
            textBox1.Text += ex.Message;
        }
    }

我已尝试使用另一个rssfeed这个代码并且它可以正常运行..但是这个rss是我得到的例外:

  

第10行第6位的“通道”开始标记与“admin:generatoragent”的结束标记不匹配。第184行,第11位

我认为问题不在于我的代码。我该怎么做才能防止或跳过此错误?

2 个答案:

答案 0 :(得分:1)

返回的XML格式不正确。

它在行<admin:generatoragent>处有自动结束标记19

然后在行</admin:generatoragent>处结束标记184

现在解决方案是考虑您的xml是一个字符串,并删除/行上的自我结束标记的19

答案 1 :(得分:0)

您是否尝试过将XMLReaderSettings设置为与posibble一样宽容?

XmlReaderSettings的可能设置 http://msdn.microsoft.com/en-us/library/System.Xml.XmlReaderSettings_properties(v=vs.110).aspx

如何实施 http://www.codeproject.com/Articles/318876/Using-the-XmlReader-class-with-Csharp