Вам необходимо включить объявление DOCTYPE, если вы хотите использовать метод GetElementById . Это потому, что функция не знает, что означает идентификатор для данного XML. В вашем случае вы используете XHTML, поэтому вам нужно указать, что когда вы хотите найти элемент по id, это означает, что нужно найти узел, имеющий атрибут с именем "id":
string webPageStr = @"<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""><html><body><div id=""content"">good content</div><div id=""badcontent"">bad content</div></body></html>";
XmlDocument webPage = new XmlDocument();
webPage.LoadXml(webPageStr);
XmlElement divElement = webPage.GetElementById("content");
Этот первый подход означает, что вам нужен веб-доступ к объявлению DOCTYPE при запуске вашего кода (http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd)
Альтернативным подходом было бы использование выражения XPATH:
string webPageStr = @"<html><body><div id=""content"">good content</div><div id=""badcontent"">bad content</div></body></html>";
XmlDocument webPage = new XmlDocument();
webPage.LoadXml(webPageStr);
XmlNode divElement = webPage.SelectSingleNode("//div[@id=\"content\"]");