HTML Agility Pack の使用に関するチュートリアルを探しましたが、やりたいことはすべて実行できるようですが、このような強力なツールについては、インターネット上でほとんどノイズがないようです。
名前に基づいて特定のタグを取得する簡単なメソッドを作成しています。
public string[] GetTagsByName(string TagName, string Source) {
...
}
これは正規表現を使用して簡単に実行できますが、HTML の解析に正規表現を使用するのは正しくないことは誰もが知っています。これまでのところ、次のコードがあります。
...
// 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));
最初に HTML からすべてのコメントを取り除き、次にその名前に基づいて正しいタグを返すことができるようにしたいと考えています。可能であれば、ロボットなどの属性に基づいて特定のメタタグも返したいと思います。私は xpath が得意ではないので、それについて何か助けていただければ幸いです。
どんな助けでも大歓迎です。