Das ist superbanal

Kerncode
Imports System.Data
Imports System.Data.SqlClient
Imports System.xml
Imports System.text
Imports System.io

Public Class bloggers
    Inherits System.Web.UI.Page

#Region " Vom Web Form Designer generierter Code "

    'Dieser Aufruf ist f�r den Web Form-Designer erforderlich.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents Repeater1 As System.Web.UI.WebControls.Repeater
    Protected WithEvents rptBlogs As System.Web.UI.WebControls.Repeater
    Protected WithEvents lblErrors As System.Web.UI.WebControls.Label

    'HINWEIS: Die folgende Platzhalterdeklaration ist f�r den Web Form-Designer 
erforderlich.
    'Nicht l�schen oder verschieben.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) 
Handles MyBase.Init
        'CODEGEN: Dieser Methodenaufruf ist f�r den Web Form-Designer erforderlich
        'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
Handles MyBase.Load
        ' Hier Benutzercode zur Seiteninitialisierung einf�gen
        Dim DS As New DataSet
        Dim con As SqlConnection
        Dim cmd As SqlDataAdapter
        Dim mainDS As New DataSet
        con = New SqlConnection(ConfigurationSettings.AppSettings("DBCon"))
        con.Open()
        cmd = New SqlDataAdapter("select name,url,rss from konf_bloggers", con)
        cmd.Fill(DS)
        Dim i, z As Integer
        z = DS.Tables(0).Rows.Count() - 1
        For i = i To z
            Dim tempDS As New DataSet
            tempDS = GetRSS(DS.Tables(0).Rows(i).Item("rss").ToString)
            'If Nothing(tempDS) Then
            'Else
                If IsNothing(mainDS) Then
                    mainDS.Tables.Add(tempDS.Tables("zehn"))
                Else
                    mainDS.Merge(tempDS)
                End If


        Next i
        Repeater1.DataSource = DS.Tables(0).DefaultView
        Repeater1.DataBind()
        'nach datum sortieren

        Dim sortview As DataView
        sortview = mainDS.Tables("zehn").DefaultView
          sortview.Sort = "pubdate DESC"
        rptBlogs.DataSource = sortview
        rptBlogs.DataBind()

       
        con.Close()
    End Sub
    Function GetRSS(ByVal RSS As String) As DataSet
        dim ds1 as New DataSet
        Try
            Dim reader As XmlTextReader = New XmlTextReader("http://"; + RSS)
            Dim buffer As New StringBuilder
            reader.Read()
            reader.Read()
            reader.MoveToElement()
            buffer.Append(reader.ReadOuterXml)
            buffer.Replace("h:c", "hc")
            buffer.Replace("dc:creator", "author")

            Dim str As String = buffer.ToString
            ds1.ReadXml(New StringReader(buffer.ToString))
            'ds1.ReadXml(reader)
            reader.Close()
            ' XML Hirarchie

            ' b�se konvertierung
            Dim i, z As Integer
            Dim dt As New DataTable("zehn")
            dt.Columns.Add("title", GetType(String), "")
            dt.Columns.Add("description", GetType(String), "")
            dt.Columns.Add("link", GetType(String), "")
            dt.Columns.Add("author", GetType(String), "")
            dt.Columns.Add("pubdate", GetType(Date), "")
            Dim dr As DataRow
            z = ds1.Tables("item").Rows.Count() - 1
            If z > 3 Then z = 3
            For i = 0 To z
                dr = dt.NewRow
                dr.Item("title") = ds1.Tables("item").Rows(i).Item("title")
                dr.Item("description") = ds1.Tables("item").Rows(i).Item("description")
                dr.Item("link") = ds1.Tables("item").Rows(i).Item("link")
                dr.Item("author") = ds1.Tables("item").Rows(i).Item("author")
                dr.Item("pubdate") = CType(ds1.Tables("item").Rows(i).Item("pubdate"), 
Date)
                dt.Rows.Add(dr)

            Next
            'ds1.Tables.Remove("item")
            ds1.Tables.Add(dt)

        Catch e As Exception
            lblErrors.Text += RSS + e.Message + "<br>"


        End Try


        Return ds1
    End Function




End Class 


Hannes Preishuber
ceo ppedv ag
Interims-Chefredakteur ASP .NET professional (www.aspnet-professional.de)
----------------------------------
ppedv ag, Marktlerstr. 15b 84489 Burghausen
www.ppedv.de
Fon: +49-8677-9889-40 Fax-44
eMail: [EMAIL PROTECTED]
Mobil: +49-172-8337094

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Christoph Wille
Gesendet: Donnerstag, 8. Juli 2004 15:33
An: [EMAIL PROTECTED]
Betreff: Re: [Coffeehouse] RE: Will wer ein Blog?

At 03:30 PM 7/8/2004, you wrote:
> > Und was anderes: findet sich wer bereit (von den existierenden 
> > Bloggern oder sonstiger Maso) um einen Aggregator zu schreiben?
> > Funktionsumfang:  ein simples Kommandozeilenutility wird jede Stunde 
> > durch einen Scheduled Task angestossen, und l�uft alle Blogs durch, 
> > schreibt allesamt gesammelt in ein RSS der 50 neuesten Eintr�ge.
> > Sozusagen lade
> > mehrere RSS, merge diese, schreibe die 50 neuesten in ein neues RSS.
> >
>
>Zeit habe ich im Moment leider wenig, aber vielleicht kann man darauf
>aufbauen:
>
>http://msdn.microsoft.com/library/en-us/dnaspp/html/aspnet-createrssw-a
>spnet
>.asp?frame=true

Hannes hat mir gerade was gezeigt:

http://www.asp-konferenz.de/bloggers.aspx

Chris


_______________________________________________
Coffeehouse Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/coffeehouse
_______________________________________________
Coffeehouse Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/coffeehouse

Antwort per Email an