Trovare il nodo dell'Html grezzo corrispondente in un documento HtmlAgility Html

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

  •  03-07-2019
  •  | 
  •  

Domanda

Attualmente ho un programma che trova e modifica i file HTML in base alla ricerca di un tag con un ID corrispondente.

Vorrei estenderlo per trovare un tag che corrisponda a InnerHtml (ignorando le maiuscole e gli spazi bianchi)

Qual è un buon modo per usare Html Agility per farlo? Vorrei farlo usando Html Agility perché il resto del programma lo sta usando.

Grazie.

È stato utile?

Soluzione

Ruota approssimativamente qui, ma dovresti essere in grado di fare qualcosa del genere:

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

Altri suggerimenti

Lo abbiamo fatto usando le espressioni regolari. Qualcosa del genere funziona per noi:

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

Spero che questo aiuti. :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top