Who knows what's wrong? — because this depends on the content heavily, nearly hard-coded, and we don't see the sample of the content. Such code might be too fragile if something changes in the content, even if the change is decorative.
Probably, having less of ad-hoc approach could help you. You would benefit much is you start from some HTTP parser. If HTTP is well-formed XML, this is trivial, as .NET has more then enough XML libraries. But what to do if it is not? You may need a parser which can tolerate the lack of well-formed content. I would advise to look at this one:
http://www.majestic12.co.uk/projects/html_parser.php[
^].
—SA