Meta-Tags und Kommentare mit HTML Agility Pack erfassen

Ich habe nach Tutorials zur Verwendung von HTML Agility Pack gesucht, da es alles zu tun scheint, was ich möchte, aber es scheint, dass für ein so leistungsfähiges Tool im Internet wenig Lärm zu hören ist.

Ich schreibe eine einfache Methode, die ein bestimmtes Tag anhand des Namens abruft:

public string[] GetTagsByName(string TagName, string Source) {
    ...
}

Dies kann einfach mit einem regulären Ausdruck durchgeführt werden, aber wir alle wissen, dass die Verwendung der regulären Ausdrücke zum Parsen von HTML nicht richtig ist. Bisher habe ich folgenden Code:

...
// TODO: Clear Comments (can this be done or should I use RegEx?)
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(Source);
ArrayList tags = new ArrayList();
string xpath = "//" + TagName;
foreach (HtmlTextNode node in doc.DocumentNode.SelectNodes(xpath) {
    tags.Add(node.Text);
}
return (string[])tags.ToArray(typeof(String));

Ich möchte in der Lage sein, zuerst alle Kommentare aus dem HTML-Code zu entfernen und dann das richtige Tag basierend auf seinem Namen zurückzugeben. Nach Möglichkeit möchte ich auch bestimmte Meta-Tags zurückgeben, die auf Attributen basieren, z. B. robot. Ich bin nicht so gut mit xpath, also wäre jede Hilfe gut.

Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage