HtmlAgility HtmlDocumentで一致する未加工のHtmlのノードを見つける

StackOverflow https://stackoverflow.com/questions/608274

  •  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;
}

これが役立つことを願っています。 :)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top