字符过滤问题 我用Winform 读取标准RSS源,但是有些RSS源中含有的不是节点的<abc>这样的内容,这时候就会报错了,请问如何避免或者处理这样的字符啊。。请教了比如一个正常的节点的InnerText 为<abc>,读取的时候会报错,如何解决,期待。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static DataTable ReadRss(string RssURL){ DataTable Dt = new DataTable(); DataColumn Title = new DataColumn("Title", typeof(string)); DataColumn Author = new DataColumn("Author", typeof(string)); DataColumn PubDate = new DataColumn("PubDate", typeof(string)); DataColumn Link = new DataColumn("Link", typeof(string)); Dt.Columns.Add(Title); Dt.Columns.Add(Author); Dt.Columns.Add(PubDate); Dt.Columns.Add(Link); System.Net.WebRequest myRequest = System.Net.WebRequest.Create(RssURL); System.Net.WebResponse myResponse = myRequest.GetResponse(); System.IO.Stream rssStream = myResponse.GetResponseStream(); System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument(); rssDoc.Load(rssStream); System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item"); for (int i = 0; i < rssItems.Count; i++) { DataRow Row = Dt.NewRow(); System.Xml.XmlNode rssDetail; rssDetail = rssItems.Item(i).SelectSingleNode("title"); if (rssDetail != null) { Row["Title"] = rssDetail.InnerText; } else { Row["Title"] = ""; } rssDetail = rssItems.Item(i).SelectSingleNode("author"); if (rssDetail != null) { Row["Author"] = rssDetail.InnerText; } else { Row["Author"] = ""; } rssDetail = rssItems.Item(i).SelectSingleNode("pubDate"); if (rssDetail != null) { Row["PubDate"] = Convert.ToDateTime(rssDetail.InnerText).ToString("yyyy年MM月dd日"); } else { Row["PubDate"] = ""; } rssDetail = rssItems.Item(i).SelectSingleNode("link"); if (rssDetail != null) { Row["Link"] = rssDetail.InnerText; } else { Row["Link"] = ""; } Dt.Rows.Add(Row); } return Dt;} 或用实体类 C#,VS2010 任务栏窗口切换问题 MDI窗体的子窗体最大化后菜单显示异常 C#如何打包项目 用C#打开一个EXE文件,EXE也是用C#写的,怎么使这个EXE文件的窗口显示在最前面,并有输入焦点 关于C#面向对象建模的问题~ 怎样在winform中用xml实现树形菜单? 菜菜的我我又来提问了……[咳,别笑我] 数据库建立新表的问题 webform导出水晶报表问题 再两个窗体中调用参数 请大伙推荐几个成熟的.net工作流工具和Web报表工具,厂商或开源的都行 郁闷,foreach里如何建对象?
{
DataTable Dt = new DataTable();
DataColumn Title = new DataColumn("Title", typeof(string));
DataColumn Author = new DataColumn("Author", typeof(string));
DataColumn PubDate = new DataColumn("PubDate", typeof(string));
DataColumn Link = new DataColumn("Link", typeof(string));
Dt.Columns.Add(Title);
Dt.Columns.Add(Author);
Dt.Columns.Add(PubDate);
Dt.Columns.Add(Link);
System.Net.WebRequest myRequest = System.Net.WebRequest.Create(RssURL);
System.Net.WebResponse myResponse = myRequest.GetResponse();
System.IO.Stream rssStream = myResponse.GetResponseStream();
System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();
rssDoc.Load(rssStream);
System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");
for (int i = 0; i < rssItems.Count; i++)
{
DataRow Row = Dt.NewRow();
System.Xml.XmlNode rssDetail;
rssDetail = rssItems.Item(i).SelectSingleNode("title");
if (rssDetail != null)
{
Row["Title"] = rssDetail.InnerText;
}
else
{
Row["Title"] = "";
}
rssDetail = rssItems.Item(i).SelectSingleNode("author");
if (rssDetail != null)
{
Row["Author"] = rssDetail.InnerText;
}
else
{
Row["Author"] = "";
}
rssDetail = rssItems.Item(i).SelectSingleNode("pubDate");
if (rssDetail != null)
{
Row["PubDate"] = Convert.ToDateTime(rssDetail.InnerText).ToString("yyyy年MM月dd日");
}
else
{
Row["PubDate"] = "";
}
rssDetail = rssItems.Item(i).SelectSingleNode("link");
if (rssDetail != null)
{
Row["Link"] = rssDetail.InnerText;
}
else
{
Row["Link"] = "";
}
Dt.Rows.Add(Row);
}
return Dt;
}
或用实体类