Click here to Skip to main content
15,894,343 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
How does samachar.com use google news rss? i need code for this.
Posted
Comments
[no name] 22-Jul-13 8:17am    
You would need to go ask whomever wrote the code for samachar.com.

1 solution

i have this code but it will works to all rss accept google news rss
code is:

public void CreateRSS(String Path, int maxitem1, string opennewwindow,String lengthoof_decs)

{
XmlDocument doc = null;
XmlTextReader rssReader = null;
Label doclbl = null;
Label snolbl = null;
try
{
try
{
rssReader = new XmlTextReader(Path);
}
catch (Exception)
{
return;
}

if (rssReader == null)
{
return;
}

doc = new XmlDocument();
try
{
doc.Load(rssReader);
}
catch (Exception)
{
return;
}

if (doc == null)
{
return;
}

ReadDoc(doc, maxitem1, opennewwindow, lengthoof_decs);
}
catch (Exception)
{
throw;
}
finally
{
doc = null;
rssReader = null;
doclbl = null;
snolbl = null;
}


}
public void ReadDoc(XmlDocument rssDoc, int maxitem2, string opennewwindow, string lengthoof_decs)
{
DataTable dt = new DataTable();

int maxitems = 0; ;

dt.Columns.Add("title");
dt.Columns.Add("desc");
dt.Columns.Add("url");
XmlNode nodeRss = null;
XmlNode nodeChannel = null;
XmlNode nodeItem = null;
try
{
if (rssDoc == null)
{
return;
}

// Loop for the <rss> tag
for (int i = 0; i < rssDoc.ChildNodes.Count; i++)
{
// If it is the rss tag
if (rssDoc.ChildNodes[i].Name == "rss")
{
nodeRss = rssDoc.ChildNodes[i];
break;
}
}

if (nodeRss == null)
{
return;
}
for (int i = 0; i < nodeRss.ChildNodes.Count; i++)
{
if (nodeRss.ChildNodes[i].Name == "channel")
{
nodeChannel = nodeRss.ChildNodes[i];
break;
}
}

if (nodeChannel == null)
{
return;
}

// Loop for the <title>, , <description> and all the other tags
for (int i = 0; i < nodeChannel.ChildNodes.Count; i++)
{
string title = "";
string desc = "";
string url="";
if (nodeChannel.ChildNodes[i].Name == "item")
{
nodeItem = nodeChannel.ChildNodes[i];
if (nodeItem["title"] != null)
{
title = nodeItem.InnerXml.ToString(); ;
int Pos1 = title.IndexOf("<title>") + "<title>".Length;
int Pos2 = title.IndexOf("</title>");
title = title.Substring(Pos1, Pos2 - Pos1);
//", "").Replace("]", "").Replace(">", "");
}
if (nodeItem["description"] != null) {
desc = nodeItem.InnerXml.ToString(); ;
int Pos1 = desc.IndexOf("<description>") + "<description>".Length;
int Pos2 = desc.IndexOf("");
desc = desc.Substring(Pos1, Pos2 - Pos1);
////////////////////////////////////////////
try
{
int g1 = desc.IndexOf("<img");
int g2 = desc.IndexOf(">") + ">".Length;
if (g1 > -1 && g2 > -1)
{
string desc1 = desc;
desc1 = desc1.Substring(g1, g2 - g1);
desc = desc.Replace(desc1, "");
}
}
catch (Exception ehge)
{
}

try
{
int g1 = desc.IndexOf("<img");>
int g2 = desc.IndexOf(">") + ">".Length;
if (g1 > -1 && g2 > -1)
{
string desc1 = desc;
desc1 = desc1.Substring(g1, g2 - g1);
desc = desc.Replace(desc1, "");
}
}
catch (Exception ehge)
{
}


try
{
int g1 = desc.IndexOf("<img");
int g2 = desc.LastIndexOf(">")+">".Length;
if (g1 > -1 && g2 > -1)
{
string desc1 = desc;
desc1 = desc1.Substring(g1, g2 - g1);
desc = desc.Replace(desc1, "");
}
}
catch (Exception ehge)
{

}
for (int d = 0; d <= 5; d++)
{
try
{

int g1 = desc.IndexOf("<");
int g2 = desc.IndexOf(">") + ">".Length;
if (g1 > -1 && g2 > -1)
{
string desc1 = desc;
desc1 = desc1.Substring(g1, g2 - g1);
desc = desc.Replace(desc1, "");
}


}
catch (Exception ehge)
{

}
}
for (int d = 0; d <= 5; d++)
{
try
{

int g1 = desc.IndexOf("<");
int g2 = desc.IndexOf(">") + ">".Length;
if (g1 > -1 && g2 > -1)
{
string desc1 = desc;
desc1 = desc1.Substring(g1, g2 - g1);
desc = desc.Replace(desc1, "");
}


}
catch (Exception ehge)
{

}
}

////////////////////////////////////////////


desc = desc.Replace("CDATA", "").Replace("<", "").Replace ("%","").Replace("!", "").Replace("[", "").Replace("", "").Replace("]", "").Replace(">", ""); ;




if (lengthoof_decs.Trim() != "ALL")
{
try
{
string tempdesc = desc;
tempdesc = tempdesc.Substring(0, Convert.ToInt16(lengthoof_decs));
tempdesc = tempdesc + " ..".Replace("CDATA", "").Replace("<", "").Replace("!", "").Replace("[", "").Replace("", "").Replace("]", "").Replace(">", "");

desc = tempdesc;
}
catch (Exception ee)
{
// desc = desc.Substring(Pos1, Pos2 - Pos1);
}
}


url = nodeItem.InnerXml.ToString(); ;
Pos1 = url.IndexOf("") + "".Length;
Pos2 = url.IndexOf("");
url = url.Substring(Pos1, Pos2 - Pos1);

url = url.Replace("amp;", "").Replace("CDATA", "").Replace("<", "").Replace("!", "").Replace("[", "").Replace("", "").Replace("]", "").Replace(">", "");



}
if (nodeItem["pubDate"] != null) {

}

DataRow dr = dt.NewRow();
dr["title"] = title;
dr["desc"] = desc;
dr["url"] = "http://www.desikhabar.in/show/?move="+url;
dt.Rows.Add(dr);

maxitems = maxitems + 1;



if (maxitems == maxitem2 )
{ break; }
}


}
}
catch (Exception)
{
throw;
}
finally
{
this.abc(dt, maxitem2, opennewwindow, lengthoof_decs);


}
}
public void abc(DataTable dt, int maxiem, string opennewwindow, string lengthoof_decs)
{
try
{
if (opennewwindow == "1")
{
for (int i = 0; i < maxiem; i++)
{

opennewwindow = "_blank";
Response.Write("
  • " + dt.Rows[i]["title"].ToString() + "
  • ");

    if (lengthoof_decs.Trim() != "0")
    {
    Response.Write("

    " + dt.Rows[i]["desc"].ToString() + "

    ");
    }
    }

    }



    }
    catch (Exception ea)
    {
    }
     
    Share this answer
     
    Comments
    Richard MacCutchan 23-Jul-13 5:11am    
    You need to go and talk to Google about it.

    This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



    CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900