HtmlAgility HtmlDocumentで一致する未加工のHtmlのノードを見つける
-
03-07-2019 - |
質問
現在、一致するIDを持つタグの検索に基づいてHTMLファイルを検索および編集するプログラムがあります。
InnerHtmlに一致するタグを見つけるために拡張します(大文字と小文字は無視します)
これを行うためにHTML Agilityを使用する良い方法は何ですか?プログラムの残りの部分がそれを使用しているため、Html Agilityを使用してそれを実行したいと思います。
ありがとう。
解決
ここで大まかに撮影しますが、次のようなことができるはずです:
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;
}
}
}
他のヒント
正規表現を使用してこれを実行しました。 このような何かが私たちのために働く:
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;
}
これが役立つことを願っています。 :)
所属していません StackOverflow