Mit Streamreader bestimmte Zeichenketten aus Seitenquelltext filtern
-
Moin,
ich möchte aus einem Seitenquelltext bestimmte Zeichenketten herauslesen.
Für mich ist nur eine ZEILE in dem Seitenquelltext interessant.
In dieser Zeile steht aber natürlich noch HTML Code, den ich nicht brauche.
Da diese Zeile super lang ist, nur mein ein kleiner Auszug wie die Zeile aussieht.".....<a href="showPlayerDetails.asp?playerID=942166" target="_self">Bob Kohlmeier</a></td></tr><tr><td></td></tr><tr><td><table><tr><td>Nationalität:....."
Ich möchte nun die Zeichenkette mit dem Inhalt "Bob Kohlmeier" als String haben. Ich dachte daran dass ich zuerst das was vor den Namen steht suche (playerID=942166" target="_self">) und dann soll er solange die Zeichenkette einlesen bis ein "<" kommt. Ich weiß nur nicht wie ich das nun in C# ausdrücken soll
Bis jetzt habe ich einen StreamReader angelegt. Dieser liest den seitenquelltext erst einmal komplett ein. Als nächstes soll er den spielernamen "herausfiltern", aber da harpert es noch. Jemand eine Idee?
StreamReader reader = new StreamReader(documentStream, Encoding.GetEncoding(28591)); documentStream.Position = 0; Seite = reader.ReadToEnd(); string Spielername; Spielername = Seite.Substring(Seite.IndexOf("playerID=942166" target="_self">"));
-
Schau dir mal das hier an: http://htmlagilitypack.codeplex.com/
Damit kannst du über die Elemente eines HTML-Dokuments drüber gehen.Oder direkt a-Nodes raus-selektieren, href Attribut anschauen ob "playerID=942166" drin vorkommt und dann mit .InnerText an "Bob Kohlmeier" kommen...