Przykład zmiany htmlAgilityPack nie działa. Jak to osiągnąć?

Przykład nacodeplex czy to jest :

HtmlDocument doc = new HtmlDocument();
 doc.Load("file.htm");
 foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
 {
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
 }
 doc.Save("file.htm");

Pierwszym problemem jest HtmlDocument.DocumentElement nie istnieje! To, co istnieje, to HtmlDocument.DocumentNode ale nawet gdy tego używam, nie mogę uzyskać dostępu do atrybutu href zgodnie z opisem. Otrzymuję następujący błąd:

Cannot apply indexing with [] to an expression of type 'HtmlAgilityPack.HtmlNode'

Oto kod, który próbuję skompilować, gdy otrzymam ten błąd:

private static void ChangeUrls(ref HtmlDocument doc)
{
    foreach(HtmlNode link in doc.DocumentNode.SelectNodes("//@href"))
    {
        HtmlAttribute attr = link["href"];
        attr.Value = Rewriter(attr.Value);
    }
}

AKTUALIZACJA: Właśnie odkryłem, że ten przykład nigdy nie miał działać ... I mam rozwiązanie po przeczytaniu przykładowego kodu ... Opublikuję moje rozwiązanie dla innych osób, takich jak ja, aby cieszyć się nimi po zakończeniu.

questionAnswers(1)

yourAnswerToTheQuestion