.net读取Rss转换为DataTable

2025-05-27 0 62

最近需要用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;
}

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 .net读取Rss转换为DataTable https://www.kuaiidc.com/68934.html

相关文章

发表评论
暂无评论