Trouver un nœud de correspondance HTML brut dans un document HtmlAgility HtmlDocument

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

  •  03-07-2019
  •  | 
  •  

Question

J'ai actuellement un programme qui trouve et édite des fichiers HTML en recherchant une balise avec un identifiant correspondant.

J'aimerais l'étendre pour trouver une balise dont le nom correspond à InnerHtml (sans tenir compte de la capitalisation ni des espaces)

Quel est le bon moyen d’utiliser Html Agility pour ce faire? Je voudrais le faire en utilisant HTML Agility parce que le reste du programme l’utilise.

Merci.

Était-ce utile?

La solution

Je ne peux pas tirer ici mais vous devriez pouvoir faire quelque chose comme ça:

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

Autres conseils

Nous avons utilisé des expressions régulières. Quelque chose comme ça marche pour nous:

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

J'espère que ça aide. :)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top