.net讀取Rss轉(zhuǎn)換為DataTable
最近需要用asp.net(c#)接收一個(gè)Rss。Rss是自己論壇的數(shù)據(jù),而Rss是又在Item中加了一個(gè)子項(xiàng)。所以寫了一個(gè)通用的讀取Rss的代碼,以后即時(shí)再增加或者刪除Items中的子項(xiàng),此代碼也是可以辨認(rèn)的。
嗯……貼代碼,記錄一下吧。
讀取Rss返回DataTable
/// <summary>
/// 獲Rss并轉(zhuǎn)換為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添加列標(biāo)識(shí)開始
XmlNode xnColumn = xnl[0];
XmlNodeList columnsNode = xnColumn.ChildNodes;
foreach (XmlNode xn in columnsNode)
{
DataColumn dc = new DataColumn(xn.Name);
dt.Columns.Add(dc);
}
}//為dataTable添加列標(biāo)識(shí)結(jié)束
{//為DataTable添加行數(shù)據(jù)
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添加列數(shù)據(jù)
}
}
return dt;
}
相關(guān)文章
asp.net點(diǎn)選驗(yàn)證碼實(shí)現(xiàn)思路分享 (附demo)
這篇文章主要介紹了asp.net點(diǎn)選驗(yàn)證碼實(shí)現(xiàn)思路分享 (附demo),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01
基于asp.net實(shí)現(xiàn)圖片在線上傳并在線裁剪功能
本文主要介紹了基于asp.net實(shí)現(xiàn)圖片在線上傳并在線裁剪功能的具體事例代碼,具有一定的參考價(jià)值。需要的朋友可以參考下2016-12-12
Asp.net core中實(shí)現(xiàn)自動(dòng)更新的Option的方法示例
這篇文章主要介紹了Asp.net core中實(shí)現(xiàn)自動(dòng)更新的Option的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
如何在.Net6 web api中記錄每次接口請(qǐng)求的日志
.net6有自帶的logging組件,還有很多優(yōu)秀的開源log組件,如NLog,serilog,這里我們使用serilog組件來構(gòu)建日志模塊,這篇文章主要介紹了如何在.Net6 web api中記錄每次接口請(qǐng)求的日志,需要的朋友可以參考下2023-06-06
jquery repeater 模仿 Google 展開頁面預(yù)覽子視圖
節(jié)后的這一周, 希望大家能挺住, hehe, 這兩天給大家準(zhǔn)備一個(gè) Repeater 子視圖的例子, 模擬了 Google 搜索結(jié)果后的頁面的預(yù)覽, 其實(shí)也只是顯示了一段問題2011-10-10

