最近需要用asp.net(c#)接收一个Rss。Rss是自己论坛的数据,而Rss是又在Item中加了一个子项。所以写了一个通用的读取Rss的代码,以后即时再增加或者删除Items中的子项,此代码也是可以辨认的。
嗯……贴代码,记录一下吧。
读取Rss返回DataTable
/// <summary>
/// 获Rss并转换为DataTable返回
/// </summary>
/// <param name="filePath">Rss地址</param>
/// <returns></returns>
public static DataTable GetRss(string filePath)
{
DataTable dt = new DataTable();
WebClient wc = new WebClient();
Stream srContent = wc.OpenRead(filePath);
StreamReader sr = new StreamReader(srContent);
if (!sr.EndOfStream)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(sr);
XmlNodeList xnl = xmlDoc.SelectNodes("rss/channel/item");
if (xnl.Count > 0)
{
{//为dataTable添加列标识开始
XmlNode xnColumn = xnl[0];
XmlNodeList columnsNode = xnColumn.ChildNodes;
foreach (XmlNode xn in columnsNode)
{
DataColumn dc = new DataColumn(xn.Name);
dt.Columns.Add(dc);
}
}//为dataTable添加列标识结束
{//为DataTable添加行数据
foreach (XmlNode xnDate in xnl)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < dt.Columns.Count; i++)
{
XmlNode itemValue = xnDate.SelectSingleNode(dt.Columns[i].ColumnName);
dr[i] = itemValue.InnerText;
}
dt.Rows.Add(dr);
}
}//为DataTable添加列数据
}
}
return dt;
}
相关文章
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10