溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在線實(shí)現(xiàn)RSS閱讀器

發(fā)布時(shí)間:2020-06-15 08:25:45 來(lái)源:網(wǎng)絡(luò) 閱讀:480 作者:zhangyah 欄目:編程語(yǔ)言

1、通過(guò)XmlDocument類實(shí)現(xiàn)RSS信息獲取

/// <summary>
/// 獲得要顯示的Feed種子數(shù)據(jù)
/// </summary>
/// <param name="RssUrl"></param>
/// <param name="showNewsCount"></param>
/// <returns></returns>
public string LoadRSS(string RssUrl, int showNewsCount)
{
string strRssList = "";
string strMsg;
try
{
XmlDocument objXMLDoc = new XmlDocument();
objXMLDoc.Load(RssUrl); //加載XML文檔
XmlNodeList objItems = objXMLDoc.GetElementsByTagName("item");//獲取所有匹配的元素
if (showNewsCount > 30)
showNewsCount = 10; //只顯示10條記錄
if (showNewsCount < 1)
showNewsCount = objItems.Count;
string title = "";
string link = "";
int i;
if (objXMLDoc.HasChildNodes == true) //該文檔有子節(jié)點(diǎn)
{
i = 1;
foreach (XmlNode objNode in objItems) //循環(huán)所有元素
{
if (i <= showNewsCount)
{
if (objNode.HasChildNodes == true)
{
XmlNodeList objItemsChild = objNode.ChildNodes; //得到當(dāng)前元素的所有子節(jié)點(diǎn)
foreach (XmlNode objNodeChild in objItemsChild)
{
switch (objNodeChild.Name)
{
case "title":
title = objNodeChild.InnerText;
break;
case "link":
link = objNodeChild.InnerText;
break;
}
}
i = i + 1;
strRssList += "<a href=" + link + " target=_blank>" + title + "</a><br>";
}
}
}
}
strMsg = strRssList;
}
catch
{
strMsg = "RSS Feed 源數(shù)據(jù)出錯(cuò)!";
}
return strMsg;
}

2、通過(guò)XMLHTTP無(wú)刷新更新在線RSS閱讀獲取

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>無(wú)刷新動(dòng)態(tài)更新的在線RSS閱讀獲取</title>
<script type="text/javascript">
var oDiv;
var xh = null;
function getXML() {
try {
xh = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
xh = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (oc) {
xh = null
}
}
if (!xh && typeof XMLHttpRequest != "undefined") {
xh = new XMLHttpRequest();
}
oDiv = document.getElementById("rssitem");
oDiv.style.display = "";
try {
//如果是本地改成下面語(yǔ)句直接讀取
xh.open("GET", "03-R***ss.xml", false);
xh.send(null);
loadData(xh, oDiv);
}
catch (e) {
error(oDiv, xh);
}
}
function loadData(xh, oDiv) //解析XML數(shù)據(jù)
{
if (xh.readyState == 4) //已完成
{
xml = xh.responsexml;
var i;
var nodes = xml.selectNodes("/rss/channel/item"); //查詢子節(jié)點(diǎn)
var bloglink = xml.selectSingleNode("/rss/channel/link").text; //單個(gè)節(jié)點(diǎn)
oDiv.innerHTML = "";
var html;
for (i = 0; i < nodes.length; i++) {
html += "<div >";
html += "    <div >";
html += "        <a class=font1 href='" + nodes[i].selectSingleNode("link").text + "' target='_blank'>" + nodes[i].selectSingleNode("title").text + "</a><BR><BR>";
html += "    </div>";
html += "    <div >";
html += "        " + nodes[i].selectSingleNode("description").text;
html += "    </div>"
html += "</div><hr>";
}
oDiv.innerHTML = html;
}
else {
error(oDiv, xh);
}
}
function error(oDiv, xh) //錯(cuò)誤處理
{
alert(xh.readyState);
if (xh.readyState == 4) {
if (xh.status == 200) {
oDiv.innerHTML = "完成"
}
else {
oDiv.innerHTML = "抱歉,裝載數(shù)據(jù)失敗。原因:" + xh.statusText
}
}
else {
oDiv.innerHTML = "載入失敗。原因:";
}
}
</script>
</head>
<body onload="window.setTimeout('getXML()',200);">
<div align="center">
<table cellpadding="0" cellspacing="0" border="0" width="80%">
<tr>
<td>
<div id="rssitem" >
</div>
</td>
</tr>
</table>
</div>
</body>
</html>

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI