Beschreibung:
Mithilfe der Webseite Klasse (http://www.tsql.de/csharp/webseite_lesen_html_tags_entfernen_emails_auslesen.php) und der getpart() (Quelle:http://www.ploetzeneder.eu/softwareentwicklung/cvbnet/86-webseite-inhalte-auslesen.html)y
Webseite x = new Webseite("http://www.meineseite.com");
MessageBox.Show(getpart(xgetText(), "Vorname:", "Nachname:");
Das getpart:
public string getpart(string content,string start, string ende)
{
content = content.Substring(content.IndexOf(start), content.IndexOf(ende) - content.IndexOf(start));
content = content.Trim();
content = content.Replace(((char)009).ToString(), "");
content = content.Replace(((char)32).ToString(), "");
content = content.Replace(((char)10).ToString(), "");
content = content.Replace(((char)13).ToString(), "");
content = content.Replace(start, "");
return content;
}
Unsere Website
iPhone Programmierung | Android Programmierung
Hallo Ploetzi,
ein paar Anmerkungen dazu:*dein Beispielcode funktioniert nicht (xgetText()
)
*Bzgl. der Webseite
-Klasse: Den Inhalt einer Website kann man auch kürzer mit WebClient.DownloadString() herunterladen.
*Das bloße Entfernen von HTML-Tags ohne "Interpretieren" des Dokuments durch einfaches Anwenden einen Regex ist ziemlich optimistisch. Haut z.B. bei CDATA-Abschnitten schon nicht hin.
*Das Ersetzen der Sonderzeichen ist erstens - sorry - hässlich: Warum castest du int-Werte zu chars? So ist doch überhaupt nicht zu erkennen, dass du '\t','\r', '\n' und ' ' ersetzt/löschst. Und warum löscht du Leerzeichen? Das Löschen von bestimmten Zeichen würde ich dem Aufrufer überlassen und nicht in der Methode machen.
Zweitens geht es kürzer mit content = Regex.Replace(content,"\r|\n|\t| ","")
*An den "Zwischentext" kommt man auch kürzer mit
public static string GetPart(string content,string start,string end)
{
Match match = Regex.Match(content,Regex.Escape(start)+"(.*?)"+Regex.Escape(end));
return (match.Success) ? match.Groups[1].Value : null;
}
Gruß,
dN!3L
P.S.: Entwurfsrichtlinien zum Entwickeln von Klassenbibliotheken - Richtlinien für Namen