Webseite auf RSS Link überprüfen

axelfxxx

Mitglied
Hi @ all,

ich hatte die Frage zwar schon mal gestellt, aber irgendwie kannte wohl keiner die Antwort darauf. Ich stelle nun die Frage nochmal:

Gibts irgendwie die Möglichkeit in C# eine Webseite auf RSS links zu überprüfen. In etwa so:

C#:
if (auf.der.Webseite.geklickterlink = ein.XML.link)
{
dann tue etwas
}
else (anderer.link.angeclickt)
{
return;
}

ich hab zwar schon :google:, aber nichts wirklich gefunden.

//edit: habs mit webbrowser1.dokumenttype.contains(xml.dokument) probiert aber irgendwie klappt gar nichts
// Nochmal edit: Ich hab nochwas entdeckt:

C#:
if (webBrowser1.DocumentType.IndexOf(".xml"))
            {
                MessageBox.Show("Auf einen XML Link geklickt!");
            }
            else
            {
                return;
            }
Dies bringt mir eigendlich den Dokumententyp zurück, aber ich bekomme immer eine Fehlermeldung, dass ein INT wert nicht in BOOL umgewandelt werden kann. Wie schreibe ich den das nun richtig

Eine kleine Hilfestellung währe geil ;)
mfg
alex
 
Zuletzt bearbeitet:
Hi Alex,

also die Lösung deines letzten Fehlers ist einfach gelöst:
Dein IndexOf liefert dir die genaue Position des Suchstrings (".xml") als ein Zahlenwert zurück. Und du versuchst das ganze gleich in einer Abfrage auszuwerten. Das funktioniert aber nicht, da eine if-Abfrage immer einen boolschen Wert erfordert. Also einfach einen Wert gegenüberstellen, also if ( x == 1) oder if (x > 0) usw. Dann funktionierts auch. Du musst nur bei dem IndexOf aufpassen, da das erste gefundene Zeichen im String dann nicht 1 sondern 0 ist. Wenn der Suchstring nicht gefunden werden konnte, dann liefert dir IndexOf -1 zurück. Also einfach deine ABfrage ändern in

if (...IndexOf(".xml") != -1) ....

Dann sollte es funktionieren.
So long,
Chrisu
 
Hi, Chrisu

Ich habs mal mit deiner Hilfe so probiert, aber das Ergebnis ist, dass er jetzt Immer "anderer Link" bring, sobald ich AUCH auf einen RDF, oder XML Link klicke.

Ich werd bald irre: Keine Funktion erlaubt es, des Inhalt der ANGEKLICKTEN URL zu erkennen und weiterzuverarbeiten *grrrrrrr*,

Ich denke mir das so: Man lese die URL aus und wenn das Ergebnis eine XML Datei ist soll etwas damit gemacht werden, andernfalls einfach return.

Soweit der Stand:
C#:
private void Document_Click(object sender, HtmlElementEventArgs e)
        {
            try
            {
                if(webBrowser1.DocumentType.IndexOf(".xml") != -1)
                {
                    MessageBox.Show("RssFeed");
                }
                else
                {
                    MessageBox.Show("anderer Link");
                }

            }
 
Zuletzt bearbeitet:
Hi Alex,

mein letzter Post hat sich auch nur auf deinen Fehler bezogen und wie man den beheben kann. Das mit dem Erkennen des RSS-Links hab ich nicht berücksichtigt. So ganz hab ich deine Frage auch noch nicht verstanden.
Möchtest du jetzt schon beim Einlesen der Webseite feststellen, ob im HTML ein RSS-Link vorhanden ist, oder erst nachdem du den Link angeklickt hast? Also lädst du die vermeintlichen RSS-Daten schon runter? Wenn ja, dann solltest du einfach den ContentType auswerten. Der sollte dann ja "text/xml" sein. Ich hab auch einen Link beim MSDN gefunden:

http://msdn2.microsoft.com/en-us/library/system.net.httpwebrequest.contenttype.aspx

Und ganz klar ist mir nicht, was dein "DocumentType" machen soll. Darüber hab ich nicht wirklich was finden können ... zumindest nichts was mir dabei weitergeholfen hätte. Wie schon gesagt, würde ich den ContentType abfragen.
Aber vielleicht hast du ja noch ein paar Informationen mehr für mich/uns. Dann finden wir schon eine Lösung.

So long,
Chrisu

PS: ich hab auch nochmals bei codeproject.com vorbei geschaut und nach RSS-Reader gesucht und folgendes Ergebnis gefunden. Vielleicht wirst du ja auch hierbei fündig.
 

Neue Beiträge

Zurück