c#

qlzf11140820 2009-01-06 11:20:36
我的代码
private void loadhtml()
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(Application.StartupPath + ("~doc.xml"));
XmlNodeList mynodelist;
XmlElement root = xmlDocument.DocumentElement;
mynodelist = xmlDocument.SelectNodes("/rss/channel/item");
int i = 0;
bool j;
string content = "";
StatusBar1.Text = "正在读取文章内容...";
i = listBox1.SelectedIndex;
label2.Text=listBox1.SelectedIndex.ToString();
if (content != null)
{


content = content + "<html><head><meta http-equiv='content-type' content='text/html;charset=UTF-8'></head><body>";
content = content + "<table width='100%' height='80' bgcolor='#eeeeee'><tr><td><b>标题:</b><a href='";
mynodelist = root.GetElementsByTagName("link");
content = content + mynodelist.Item(i).InnerXml;
content = content + "' target='_blank'>";
mynodelist = root.GetElementsByTagName("title");
content = content + mynodelist.Item(i).InnerXml;
content = content + "</tb></tr></table>";
mynodelist = root.GetElementsByTagName("description");
content = content + mynodelist.Item(i).InnerXml; content = content + "</body></html>";


}
j = SaveTextFile(Application.StartupPath + "~temp.html", content);
webBrowser1.Navigate(Application.StartupPath + "~temp.html");
StatusBar1.Text = "完成";
}

当我listbox.SelectedIndex到最后一项时 报错!!”未将对象引用到实例“
报错地址:“content = content + mynodelist.Item(i).InnerXml;”

高手指教???
...全文
81 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qlzf11140820 2009-01-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhuanshen712 的回复:]
1:mynodelist = root.GetElementsByTagName("description");
2:content = content + mynodelist.Item(i).InnerXml;
========
第一句已经把mynodelist改变了,怎么还用Item(i)?
[/Quote]

content = content + mynodelist.Item(i).InnerXml;改怎么改呢?错误就在这里!!
zhuanshen712 2009-01-06
  • 打赏
  • 举报
回复
这个i是什么?
每个GetElementsByTagName得到的个数可能不一样。i = listBox1.SelectedIndex; 这可能listBox1.SelectedIndex〉GetElementsByTagName得到的个数啊。
zhuanshen712 2009-01-06
  • 打赏
  • 举报
回复
1:mynodelist = root.GetElementsByTagName("description");
2:content = content + mynodelist.Item(i).InnerXml;
========
第一句已经把mynodelist改变了,怎么还用Item(i)?
LorenLiu 2009-01-06
  • 打赏
  • 举报
回复
在content = content + mynodelist.Item(i).InnerXml;之前你判断一下mynodelist是不是为null
我觉得可能mynodelist = root.GetElementsByTagName("description"); 得到的mynodelist是null
qlzf11140820 2009-01-06
  • 打赏
  • 举报
回复
高手们都睡着了!

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧