“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位
我认为问题不在于我的代码。我该怎么做才能防止或跳过此错误?
答案 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