Я искал учебные пособия по использованию 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, поэтому любая помощь с этим была бы хороша.
Любая помощь будет высоко ценится.