Mein Blogreader

by Flo 20. July 2006 22:18

Endlich kann ich Einträge aus meinem Blog auf meiner Website anzeigen. Nachdem ich den RssReader und Atom.net ausprobiert habe, bin ich beim Atomizer gelandet. Dieser erwies sich als sehr einfach zu nutzen. Der Codeausschnitt unten lädt, vorrausgesetzt die Automizer-Klasse ist im Projekt vorhanden, einen Atom-Feed und speichert seine Daten über den Umweg über ein String-Array in einem DataSet, welches als DataSource für den Repeater dient.


private
void InitializeAtomizer()

{

Atomizer.Atom atom = Atomizer.Atom.Create(new
Uri("http://meinBlog.de/atom.xml"), new Atomizer.generatorType(), "user", "password");


Atomizer.feedType myFeed = atom.GetFeed("http://meinBlog.de/atom.xml ");



DataSet mySource = new
DataSet();

mySource.Tables.Add("BlogPosts");

mySource.Tables["BlogPosts"].Columns.Add("title");

mySource.Tables["BlogPosts"].Columns.Add("url");

mySource.Tables["BlogPosts"].Columns.Add("date");

mySource.Tables["BlogPosts"].Columns.Add("name");

mySource.Tables["BlogPosts"].Columns.Add("email");

mySource.Tables["BlogPosts"].Columns.Add("content");

mySource.Tables["BlogPosts"].Columns.Add("created");

mySource.Tables["BlogPosts"].Columns.Add("id");



for (int i = 0; i < 5; i++)

{


string[] myValues = new
string[8];

myValues[0] = myFeed.entries[i].title;

myValues[1] = myFeed.entries[i].links[1].href;

myValues[2] = myFeed.entries[i].issued;

myValues[3] = myFeed.entries[i].author.name;

myValues[4] = myFeed.entries[i].author.email;

myValues[5] = myFeed.entries[i].contentValue.Text;

myValues[6] = myFeed.entries[i].created;

myValues[7] = myFeed.entries[i].id;


mySource.Tables["BlogPosts"].Rows.Add(myValues);

}


PostRepeater.DataSource = mySource;

PostRepeater.DataBind();

}


In der For-Schleife werden in diesem Fall die ersten fünf Elemente aus dem Weblog geholt. Meine InitializeAtomizer()-Methode lasse ich im Page-Load-Event meiner Seite ausführen. Im aspx-File reicht ein einfacher Repeater mit ein paar Labels und einem Anchor:

<asp:Repeater
ID="PostRepeater"
runat="server"
EnableTheming="True">

<ItemTemplate>

<h1>


<asp:Label
ID="title"
runat="server">

<a
href="<%# (DataBinder.Eval(Container.DataItem, "url")) %>"><%# (DataBinder.Eval(Container.DataItem,"title")) %></a></asp:Label>

</h1>


<asp:Label
ID="content"
runat="server">

<%# (DataBinder.Eval(Container.DataItem, "content")) %></asp:Label><p
/>


<asp:Label
CssClass="footer"
ID="footer"
runat="server">gepostet am

<%# (DataBinder.Eval(Container.DataItem,"date")) %></asp:Label>

</ItemTemplate>

</asp:Repeater>

Vielleicht finde ich am WE die Zeit, mir die knapp 1.800 Zeilen Code der 18 Klassen des Atomizer-Namespaces etwas genauer anzusehen.

Tags:

Comments

8/16/2009 3:20:18 AM #

cash loans

I don�t usually reply to posts but I will in this case.  Smile

cash loans United States

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen

Über mich

Ich bin freiberuflicher Softwareentwickler (.NET, Cocoa, Webentwicklung) und versuche mich als hobbymäßig an der Fotografie.

Seit 1. Oktober 2007 studiere ich in an der Georg-Simon-Ohm-Hochschule in Nürnberg Wirtschaftsinformatik.

Calendar

<<  May 2012  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar