我目前有一个程序,可以根据查找匹配ID的标记来查找和编辑HTML文件。
我想扩展它以找到一个匹配InnerHtml的标签(忽略大写和空白)
使用Html Agility执行此操作的好方法是什么?我想使用Html Agility来实现它,因为程序的其余部分正在使用它。
感谢。
答案 0 :(得分:1)
在这里粗暴射击,但你应该可以做这样的事情:
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("YOUR_TAG_SELECTOR");
if (nodes != null)
{
foreach (HtmlNode node in nodes)
{
if (node.InnerHtml.ToLower().Trim() == "YOUR_MATCH")
{
//success routine
break;
}
}
}
答案 1 :(得分:1)
我们使用正则表达式完成了这项工作。 这样的事情对我们有用:
private static List<HtmlNode> GetMatchingNodes(string xPath, string pattern, HtmlDocument htmlDocument)
{
List<HtmlNode> matchingNodes = new List<HtmlNode>();
foreach (HtmlNode node in htmlDocument.DocumentNode.SelectNodes(xPath))
{
if (Regex.IsMatch(node.InnerHtml, pattern))
{
matchingNodes.Add(node);
}
}
return matchingNodes;
}
希望这会有所帮助。 :)