<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Development</title>
        <link>http://geekswithblogs.net/shehan/category/10494.aspx</link>
        <description>Development</description>
        <language>en-US</language>
        <copyright>shehan</copyright>
        <managingEditor>digitalshehan@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Google Feeds API</title>
            <link>http://geekswithblogs.net/shehan/archive/2011/09/01/google-feeds-api.aspx</link>
            <description>&lt;p&gt;I was given with a simple requirement – create an online component that has the ability to pull RSS feeds &lt;strong&gt;asynchronously&lt;/strong&gt; from websites.&lt;/p&gt;  &lt;p&gt;I could have written a server control, but that would mean I would need to write the logic to read the xml and parse it. Totally doable, but it was late in the day when the requirement came in and I wasn’t about to slave over Visual Studio to write manage code. &lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/shehan/Windows-Live-Writer/f911213be5d0_E1AC/wlEmoticon-smile_2.png" /&gt; OK, so long story short I used the &lt;a href="http://code.google.com/apis/feed/v1/reference.html" target="_blank"&gt;Google Feed API&lt;/a&gt; to get the job done.&lt;/p&gt;  &lt;p&gt;Assuming you know jQuery the code is pretty straightforward. I haven’t included any styling or any other scripts.&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Strict//EN"&lt;/span&gt; &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;meta&lt;/span&gt; &lt;span class="attr"&gt;http-equiv&lt;/span&gt;&lt;span class="kwrd"&gt;="content-type"&lt;/span&gt; &lt;span class="attr"&gt;content&lt;/span&gt;&lt;span class="kwrd"&gt;="text/html; charset=utf-8"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Google Feed API Sample&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        &amp;lt;script src=&lt;span class="str"&gt;"http://www.google.com/jsapi?key=AIzaSyA5m1Nc8ws2BbmPRwKu5gFradvD_hgq6G0"&lt;/span&gt; type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        &amp;lt;script type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        &lt;span class="rem"&gt;/* http://code.google.com/apis/ajaxfeeds/documentation/reference.html#JSON */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;            &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            &lt;span class="rem"&gt;/*Array to hold the various feeds.*/&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;            &lt;span class="kwrd"&gt;var&lt;/span&gt; myfeeds = &lt;span class="kwrd"&gt;new&lt;/span&gt; Array();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;            myfeeds[0] = &lt;span class="kwrd"&gt;new&lt;/span&gt; Feed(&lt;span class="str"&gt;"Facebook"&lt;/span&gt;,&lt;span class="str"&gt;"https://www.facebook.com/feeds/page.php?id=85647828805&amp;amp;format=rss20"&lt;/span&gt;,5);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;            myfeeds[1] = &lt;span class="kwrd"&gt;new&lt;/span&gt; Feed(&lt;span class="str"&gt;"Twitter"&lt;/span&gt;,&lt;span class="str"&gt;"https://api.twitter.com/1/statuses/user_timeline/VirtusaCorp.rss"&lt;/span&gt;,10);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            myfeeds[2] = &lt;span class="kwrd"&gt;new&lt;/span&gt; Feed(&lt;span class="str"&gt;"Yahoo"&lt;/span&gt;,&lt;span class="str"&gt;"http://feeds.finance.yahoo.com/rss/2.0/headline?s=VRTU&amp;amp;region=US&amp;amp;lang=en-US"&lt;/span&gt;,2);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            myfeeds[3] = &lt;span class="kwrd"&gt;new&lt;/span&gt; Feed(&lt;span class="str"&gt;"Nasdaq"&lt;/span&gt;,&lt;span class="str"&gt;"http://articlefeeds.nasdaq.com/nasdaq/symbols?symbol=VRTU"&lt;/span&gt;,10);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;            &lt;span class="rem"&gt;/* Creates a Feed object */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;            &lt;span class="rem"&gt;/* name - Name of the feed. Will show-up as the button text */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;            &lt;span class="rem"&gt;/* uri - The location of the feed */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;            &lt;span class="rem"&gt;/* count - Number of items to be shown for the feed */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;            &lt;span class="kwrd"&gt;function&lt;/span&gt; Feed(name,uri,count)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;                &lt;span class="kwrd"&gt;this&lt;/span&gt;.name=name;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;                &lt;span class="kwrd"&gt;this&lt;/span&gt;.uri=uri;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;                &lt;span class="kwrd"&gt;this&lt;/span&gt;.count=count;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;            google.load(&lt;span class="str"&gt;"feeds"&lt;/span&gt;, &lt;span class="str"&gt;"1"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;            &lt;span class="rem"&gt;/* Callback function when feed is loaded */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;            &lt;span class="kwrd"&gt;function&lt;/span&gt; feedLoaded(result)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (!result.error)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;                {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;                    $(&lt;span class="str"&gt;"div#content"&lt;/span&gt;).empty();&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;                    $(&lt;span class="str"&gt;"div#content"&lt;/span&gt;).append(&lt;span class="str"&gt;"&amp;lt;ul&amp;gt;&amp;lt;/ul&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;                    &lt;span class="rem"&gt;/* iterates through the results and renders them on the page */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i = 0; i &amp;lt; result.feed.entries.length; i++)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;                    {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;var&lt;/span&gt; entry = result.feed.entries[i];&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;if&lt;/span&gt; (entry.title != &lt;span class="str"&gt;''&lt;/span&gt;)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;                            $(&lt;span class="str"&gt;"div#content ul"&lt;/span&gt;).append(&lt;span class="str"&gt;"&amp;lt;li&amp;gt;&amp;lt;a href='"&lt;/span&gt;+entry.link+&lt;span class="str"&gt;"' target='_blank'&amp;gt;"&lt;/span&gt;+entry.title+&lt;span class="str"&gt;"&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;                    }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;                }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;            &lt;span class="rem"&gt;/* Click event for the feed buttons. Calls the Google API to load the feeds */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;            &lt;span class="kwrd"&gt;function&lt;/span&gt; LoadFeed(uri,count)&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;            {&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;                $(&lt;span class="str"&gt;"div#content"&lt;/span&gt;).empty();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;                $(&lt;span class="str"&gt;"div#content"&lt;/span&gt;).append(&lt;span class="str"&gt;"&amp;lt;p&amp;gt;Loading...&amp;lt;/p&amp;gt;"&lt;/span&gt;);        &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;                &lt;span class="kwrd"&gt;var&lt;/span&gt; feed = &lt;span class="kwrd"&gt;new&lt;/span&gt; google.feeds.Feed(uri);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;                feed.setNumEntries(count);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt;                feed.setResultFormat(google.feeds.Feed.JSON_FORMAT);        &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt;                feed.load(feedLoaded);&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;            &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;            &lt;span class="rem"&gt;/* Dynamically creates and renders the feed buttons based on the contents of the myfeeds array  */&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  62:  &lt;/span&gt;            &lt;span class="kwrd"&gt;function&lt;/span&gt; RenderButtons()&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  63:  &lt;/span&gt;            {            &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  64:  &lt;/span&gt;                &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; i &lt;span class="kwrd"&gt;in&lt;/span&gt; myfeeds)&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  65:  &lt;/span&gt;                {&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  66:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;var&lt;/span&gt; markup = &lt;span class="str"&gt;"&amp;lt;button type='button' onclick=\"javascript:LoadFeed('"&lt;/span&gt;+myfeeds[i].uri+&lt;span class="str"&gt;"',"&lt;/span&gt;+myfeeds[i].count+&lt;span class="str"&gt;");\"&amp;gt;"&lt;/span&gt;+myfeeds[i].name+&lt;span class="str"&gt;"&amp;lt;/button&amp;gt;"&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  67:  &lt;/span&gt;                    $(&lt;span class="str"&gt;"div#buttons"&lt;/span&gt;).append(markup);                    &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  68:  &lt;/span&gt;                }&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  69:  &lt;/span&gt;            }&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  70:  &lt;/span&gt;            &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  71:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  72:  &lt;/span&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  73:  &lt;/span&gt;        &amp;lt;div id=&lt;span class="str"&gt;"buttons"&lt;/span&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  74:  &lt;/span&gt;        &amp;lt;div id=&lt;span class="str"&gt;"content"&lt;/span&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  75:  &lt;/span&gt;        &lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  76:  &lt;/span&gt;        &amp;lt;script&amp;gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  77:  &lt;/span&gt;            RenderButtons();&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  78:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  79:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="lnum"&gt;  80:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Make sure you obtain an API key that is specific to your site to use in line #9. More info &lt;a href="http://code.google.com/apis/loader/signup.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;All you need to do is update the myfeeds array with the list of your RSS feeds and the script will do the rest. &lt;/p&gt;

&lt;p&gt;Have fun!&lt;/p&gt;

&lt;p&gt;p.s. in the above sample, you might notice that I have all the script code within the &amp;lt;body&amp;gt; tag. I purposely did this so I would only have to copy the code within it an paste into a CEWP if I needed to use it in SharePoint. &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:557d207d-e0fe-465a-97c2-8d9a37ba5078" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/jQuery+google+cdn+rss+feeds+api+javascript" rel="tag"&gt;jQuery google cdn rss feeds api javascript&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/146841.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2011/09/01/google-feeds-api.aspx</guid>
            <pubDate>Thu, 01 Sep 2011 12:01:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/146841.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2011/09/01/google-feeds-api.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/146841.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/146841.aspx</trackback:ping>
        </item>
        <item>
            <title>Latest jQuery library</title>
            <link>http://geekswithblogs.net/shehan/archive/2011/08/24/latest-jquery-library.aspx</link>
            <description>&lt;p&gt;Use the following link to find out the latest version of the jQuery API library hosted on Google’s CDN: &lt;a href="http://code.google.com/apis/libraries/devguide.html#jquery"&gt;http://code.google.com/apis/libraries/devguide.html#jquery&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9afdd05e-63e9-4799-bed8-d17f4a833225" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/jquery+google+cdn" rel="tag"&gt;jquery google cdn&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/146838.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2011/08/24/latest-jquery-library.aspx</guid>
            <pubDate>Wed, 24 Aug 2011 07:29:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/146838.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2011/08/24/latest-jquery-library.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/146838.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/146838.aspx</trackback:ping>
        </item>
        <item>
            <title>Error creating SharePoint project in Visual Studio</title>
            <link>http://geekswithblogs.net/shehan/archive/2010/11/16/error-creating-sharepoint-project-in-visual-studio.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The following issue was encountered on a developers machine when trying to create a SharePoint project using Visual Studio 2010.&lt;/p&gt;
&lt;p&gt;From the File menu the developer selected New-&amp;gt;Project and then selected ‘Empty sharepoint project’ (SharePoint 2010) and then typed in the url into the dialog box that appeared and then hit the Validate button. Upon clicking the button, the following error message was shown:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Cannot connect to the SharePoint site: http://serverX:6666/. Make sure that the Site URL is valid, that the SharePoint site is running on the local computer, and that the current user has the necessary permissions to access the site.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To fix this error:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Open up SQL Manager and navigate to Security –&amp;gt; Logins&lt;/li&gt;
    &lt;li&gt;Select the user that you’re using to create the VS project (if the user is not there, add it)&lt;/li&gt;
    &lt;li&gt;Under Server Roles for the user tick sysadmin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now it will be possible to create the SP project with getting the error.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:31f9f273-f761-44b4-a639-acc85f8ac121" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint+2010" rel="tag"&gt;SharePoint 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual+Studio+2010" rel="tag"&gt;Visual Studio 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Error" rel="tag"&gt;Error&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Access" rel="tag"&gt;Access&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/142728.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2010/11/16/error-creating-sharepoint-project-in-visual-studio.aspx</guid>
            <pubDate>Tue, 16 Nov 2010 06:54:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/142728.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2010/11/16/error-creating-sharepoint-project-in-visual-studio.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/142728.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/142728.aspx</trackback:ping>
        </item>
        <item>
            <title>command to list all files in a folder structure recursively</title>
            <link>http://geekswithblogs.net/shehan/archive/2010/10/18/command-to-list-all-files-in-a-folder-structure-recursively.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;dir /a-d /b /s&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e3e62ff4-921a-4054-afba-5e2858697c87" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/command" rel="tag"&gt;command&lt;/a&gt;,&lt;a href="http://technorati.com/tags/cmd" rel="tag"&gt;cmd&lt;/a&gt;,&lt;a href="http://technorati.com/tags/folders" rel="tag"&gt;folders&lt;/a&gt;,&lt;a href="http://technorati.com/tags/files" rel="tag"&gt;files&lt;/a&gt;,&lt;a href="http://technorati.com/tags/recursively" rel="tag"&gt;recursively&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/142344.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2010/10/18/command-to-list-all-files-in-a-folder-structure-recursively.aspx</guid>
            <pubDate>Mon, 18 Oct 2010 11:58:30 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/142344.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2010/10/18/command-to-list-all-files-in-a-folder-structure-recursively.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/142344.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/142344.aspx</trackback:ping>
        </item>
        <item>
            <title>Staring a workflow inside a list event receiver sends out a wrong link</title>
            <link>http://geekswithblogs.net/shehan/archive/2010/10/01/staring-a-workflow-inside-a-list-event-receiver-sends-out.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Here’s the scenario:&lt;/p&gt;
&lt;p&gt;The user navigates to the NewForm.aspx page of a list and enters values into the necessary fields. As soon as the user click the OK button the browser should take the user to the EditForm.aspx page and load the previously entered item in edit mode and also start the approval workflow on the item.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Solution:&lt;/p&gt;
&lt;p&gt;Create a event receiver for the list that hooks up to the ItemAdding event. There are quite a few blog posts out there that talk about this, so instead of typing down the same you can check them out for yourself &lt;a target="_blank" href="http://www.sharepointkings.com/2008/06/redirection-from-event-handler.html"&gt;here&lt;/a&gt; and &lt;a target="_blank" href="http://www.entwicklungsgedanken.de/2008/03/27/redirecting-from-newformaspx-to-dispformaspx-after-creating-a-new-item/"&gt;here&lt;/a&gt; (note: do read the comments too as there some useful tips in there as well).&lt;/p&gt;
&lt;p&gt;Following the same/similar approach would help you meet your requirements. For the workflow bit; after adding the item use the sites workflow manager object to kick start the workflows associated with the list (see &lt;a target="_blank" href="http://www.sharepointkings.com/2008/09/how-to-start-workflow-programmatically.html"&gt;here&lt;/a&gt; for sample). Add yes that works. But here’s where the problem is, in my scenario the site from which users will interact with the list is an extended site that’s in the Internet zone and uses FBA authentication. The original web application uses NTLM and (obviously) has a different URL (host header). So when the workflow mail arrives it has the urls for the NTLM site.&lt;/p&gt;
&lt;p&gt;To overcome this you would need to obtain a copy of the SPContext.Current object into a variable in the constructor of the event receiver (much like how you’re capturing the httpcontext object mentioned in the blog posts links above), then utilize this to retrieve the SPSite and SPWeb objects inside of the ItemAdding event handler instead of going through the properties (SPItemEventProperties) parameter.&lt;/p&gt;
&lt;p&gt;By doing the above SharePoint knows which context to use when performing its operations and then adds the correct url to the workflow emails.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b4d76125-82da-4b55-97da-c728dcbe61b5" style="padding: 0px; margin: 0px; display: inline; float: none;"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/sharepoint"&gt;sharepoint&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/spcontext"&gt;spcontext&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/list"&gt;list&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/event"&gt;event&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/reciver"&gt;reciver&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/fba"&gt;fba&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/workflow"&gt;workflow&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/email"&gt;email&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/link"&gt;link&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/url"&gt;url&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/142258.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2010/10/01/staring-a-workflow-inside-a-list-event-receiver-sends-out.aspx</guid>
            <pubDate>Fri, 01 Oct 2010 12:34:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/142258.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2010/10/01/staring-a-workflow-inside-a-list-event-receiver-sends-out.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/142258.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/142258.aspx</trackback:ping>
        </item>
        <item>
            <title>'Physical' location of GAC assemblies</title>
            <link>http://geekswithblogs.net/shehan/archive/2010/05/11/physical-location-of-gac-assemblies.aspx</link>
            <description>&lt;p&gt;To open up the 'physical' location to all the GAC assemblies:&lt;/p&gt;
&lt;p&gt;Start -&amp;gt; Run&lt;/p&gt;
&lt;p&gt;Type ‘C:\WINDOWS\ASSEMBLY\GAC_MSIL’&lt;/p&gt;
&lt;p&gt;Press  ‘Enter’&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fe0a071f-72bf-4e88-a7f4-5fd1d8292991" style="padding: 0px; margin: 0px; display: inline; float: none;"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/GAC"&gt;GAC&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/assembly"&gt;assembly&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/dll"&gt;dll&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/139770.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2010/05/11/physical-location-of-gac-assemblies.aspx</guid>
            <pubDate>Tue, 11 May 2010 11:15:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/139770.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2010/05/11/physical-location-of-gac-assemblies.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/139770.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/139770.aspx</trackback:ping>
        </item>
        <item>
            <title>Display the users IP Address in a Data View Web Part</title>
            <link>http://geekswithblogs.net/shehan/archive/2009/10/14/display-the-users-ip-address-in-a-data-view-web.aspx</link>
            <description>&lt;p&gt;Quite simple really :)&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Open up an existing DVWP or create one.&lt;/li&gt;    &lt;li&gt;Right click the DVWP and select ‘Common Data View Tasks’ (or click the little arrow that appears on the top right of the DVWP)&lt;/li&gt;    &lt;li&gt;Click the ‘Parameters’ link&lt;/li&gt;    &lt;li&gt;In the dialog that opens up click the ‘New Parameter’ button.&lt;/li&gt;    &lt;li&gt;Provide a name for the parameter (e.g. IPAddress)&lt;/li&gt;    &lt;li&gt;In the ‘Parameter Source’ dropdown select ‘Server Variable’&lt;/li&gt;    &lt;li&gt;In the ‘Server Variable Name’ text box enter REMOTE_ADDR&lt;/li&gt;    &lt;li&gt;Leave the ‘Default Value’ text box empty&lt;/li&gt;    &lt;li&gt;Click OK&lt;/li&gt;    &lt;li&gt;Now switch to the code view and go to the place where you want the IPAddress to appear and type the following: &lt;/li&gt;    &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;xsl:value-of&lt;/span&gt; &lt;span class="attr"&gt;select&lt;/span&gt;&lt;span class="kwrd"&gt;="$IPAddress"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;p&gt; &lt;/p&gt;

  &lt;p&gt;Thats it! Save and open the page containing the DVWP and it should show you you’re IPAddress. I’ve only been able to test it on the intranet and it works fine. If you want to display values of other server variables you can add more parameters and provide the appropriate variable name.&lt;/p&gt;

  &lt;p&gt;Here’s a list of server variables: &lt;a title="http://www.w3schools.com/asp/coll_servervariables.asp" href="http://www.w3schools.com/asp/coll_servervariables.asp" target="_blank"&gt;http://www.w3schools.com/asp/coll_servervariables.asp&lt;/a&gt;&lt;/p&gt;

  &lt;p&gt; &lt;/p&gt;

  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d7be2990-df61-4e33-b9fc-b3cbdea26e1a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint+Designer" rel="tag"&gt;SharePoint Designer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DataViewWebPart" rel="tag"&gt;DataViewWebPart&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Server+Variables" rel="tag"&gt;Server Variables&lt;/a&gt;,&lt;a href="http://technorati.com/tags/IP+Address" rel="tag"&gt;IP Address&lt;/a&gt;&lt;/div&gt;
  &lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;&lt;/ol&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/135488.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2009/10/14/display-the-users-ip-address-in-a-data-view-web.aspx</guid>
            <pubDate>Wed, 14 Oct 2009 15:50:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/135488.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2009/10/14/display-the-users-ip-address-in-a-data-view-web.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/135488.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/135488.aspx</trackback:ping>
        </item>
        <item>
            <title>Get all replies to a discussion</title>
            <link>http://geekswithblogs.net/shehan/archive/2009/10/10/get-all-replies-to-a-discussion.aspx</link>
            <description>&lt;p&gt;A discussion list in unlike a normal list in that it consists of two content types  - a Discussion content type that maps to the discussion topic and a Message that maps to all replies to the topic. If you examine the Discussion content type you’ll see that its inherited from the Folder content type.&lt;/p&gt;  &lt;p&gt;The reply contains a field called ‘ParentFolderId’ and as the name suggests it holds the ID of the discussion topic. So naturally if you were to do a query on the list for all items with the same ParentFolderId you would expect the query to work. However, since the topic is of a folder content type and the replies are contained within the ‘folder’ you would need to set the  queries ViewAttributes property to "Scope='Recursive'" for it to return results.&lt;/p&gt;  &lt;p&gt;Below is an example using the object model:&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;SPQuery query = &lt;span class="kwrd"&gt;new&lt;/span&gt; SPQuery();&lt;/pre&gt;

  &lt;pre&gt;query.ViewAttributes = &lt;span class="str"&gt;"Scope='Recursive'"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;StringBuilder queryString = &lt;span class="kwrd"&gt;new&lt;/span&gt; StringBuilder();&lt;/pre&gt;

  &lt;pre&gt;queryString.Append(&lt;span class="str"&gt;"         &amp;lt;Where&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;queryString.Append(&lt;span class="str"&gt;"              &amp;lt;And&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;queryString.Append(&lt;span class="str"&gt;"                        &amp;lt;Eq&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;queryString.Append(&lt;span class="str"&gt;"                             &amp;lt;FieldRef Name=\"ContentType\" /&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;queryString.Append(&lt;span class="str"&gt;"                             &amp;lt;Value Type=\"Text\"&amp;gt;Message&amp;lt;/Value&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;queryString.Append(&lt;span class="str"&gt;"                        &amp;lt;/Eq&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;queryString.Append(&lt;span class="str"&gt;"                        &amp;lt;Eq&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;queryString.Append(&lt;span class="str"&gt;"                             &amp;lt;FieldRef Name=\"ParentFolderId\" /&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;queryString.Append(&lt;span class="str"&gt;"                             &amp;lt;Value Type=\"Number\"&amp;gt;99&amp;lt;/Value&amp;gt;"&lt;/span&gt;); &lt;span class="rem"&gt;//NOTE: change this to the value you need&lt;/span&gt;&lt;/pre&gt;

  &lt;pre class="alt"&gt;queryString.Append(&lt;span class="str"&gt;"                        &amp;lt;/Eq&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;queryString.Append(&lt;span class="str"&gt;"              &amp;lt;/And&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt;queryString.Append(&lt;span class="str"&gt;"         &amp;lt;/Where&amp;gt;"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;query.Query = queryString.ToString();&lt;/pre&gt;

  &lt;pre class="alt"&gt;DataTable replyTable = discussionList.GetItems(query).GetDataTable();&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:427cc8ce-2140-4c4a-ae38-c6e36570310b" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Discussion" rel="tag"&gt;Discussion&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Replies" rel="tag"&gt;Replies&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CAML" rel="tag"&gt;CAML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/135471.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2009/10/10/get-all-replies-to-a-discussion.aspx</guid>
            <pubDate>Fri, 09 Oct 2009 22:10:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/135471.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2009/10/10/get-all-replies-to-a-discussion.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/135471.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/135471.aspx</trackback:ping>
        </item>
        <item>
            <title>mailto with &amp;lsquo;#&amp;rsquo; in email address issue</title>
            <link>http://geekswithblogs.net/shehan/archive/2009/10/03/mailto-with-lsquorsquo-in-email-address-issue.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;It seems that if you use an email address that contains a ‘#’ character and is part of a mailto tag, then clicking on it on the browser will open Outlook, but will not add the complete email address in the ‘To:’ field; it adds all characters until the ‘#’ character.&lt;/p&gt;  &lt;p&gt;To overcome this replace the ‘#’ character with %23&lt;/p&gt;  &lt;p&gt;So, if you had an email address like: #projectTeam@company.com the mailto tag should have it as %23projectTeam@company.com&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e51d6dc7-8b7e-4622-868c-b270f2bfabd1" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/mailto" rel="tag"&gt;mailto&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/135281.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2009/10/03/mailto-with-lsquorsquo-in-email-address-issue.aspx</guid>
            <pubDate>Sat, 03 Oct 2009 17:51:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/135281.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2009/10/03/mailto-with-lsquorsquo-in-email-address-issue.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/135281.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/135281.aspx</trackback:ping>
        </item>
        <item>
            <title>Using SharePoint's Rich Text Box in a page</title>
            <link>http://geekswithblogs.net/shehan/archive/2009/08/20/using-sharepoints-rich-text-box-in-a-page.aspx</link>
            <description>&lt;p&gt;ASP.Net does not provide a rich text box control in its set of web controls. So, if you need to place a rich text box on your SharePoint page you'll have to use a commercial, free or open source text box control (and there are plenty out there). However if you don't want to introduce another dependency, in the form of an external control, you can use SharePoint's built-in rich text box.&lt;/p&gt;  &lt;p&gt;If you're creating a page layout that binds to a content types field then its straight forward and you can use &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.richtextfield.aspx" target="_blank"&gt;RichTextField&lt;/a&gt; class. However, if you want to display a textbox that does not interact with a content type then you can use the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.inputformtextbox.aspx" target="_blank"&gt;InputFormTextBox&lt;/a&gt; and configure its properties so it render as a rich text box.&lt;/p&gt;  &lt;p&gt;Here is an example:&lt;/p&gt;  &lt;p&gt;&amp;lt;SharePoint:InputFormTextBox  runat="server" ID="RichTextBox" ValidationGroup="CreateCase" Rows="8" Columns="40" RichText="true" RichTextMode="Compatible" AllowHyperlink="true" TextMode="MultiLine" /&amp;gt;&lt;/p&gt;  &lt;p&gt;Note: change the RichTextMode value to 'FullHtml' to render more html icons in text box's tool bar.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ed315630-3834-4d45-b9ca-da6f40a9ea50" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Rich%20text%20box" rel="tag"&gt;Rich text box&lt;/a&gt;,&lt;a href="http://technorati.com/tags/asp.net" rel="tag"&gt;asp.net&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shehan/aggbug/134216.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>shehan</dc:creator>
            <guid>http://geekswithblogs.net/shehan/archive/2009/08/20/using-sharepoints-rich-text-box-in-a-page.aspx</guid>
            <pubDate>Thu, 20 Aug 2009 05:47:48 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/shehan/comments/134216.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/shehan/archive/2009/08/20/using-sharepoints-rich-text-box-in-a-page.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/shehan/comments/commentRss/134216.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/shehan/services/trackbacks/134216.aspx</trackback:ping>
        </item>
    </channel>
</rss>
