Pregunta

Actualmente tengo un programa que encuentra y edita archivos HTML basados ??en la búsqueda de una etiqueta con un ID coincidente.

Me gustaría extenderlo para encontrar una etiqueta que tenga InnerHtml (sin tener en cuenta las mayúsculas y los espacios en blanco)

¿Cuál es una buena manera de usar Html Agility para hacer esto? Me gustaría hacerlo usando Html Agility porque el resto del programa lo está utilizando.

Gracias.

¿Fue útil?

Solución

Dispáralo aquí, pero deberías poder hacer algo como esto:

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

Otros consejos

Hemos hecho esto usando expresiones regulares. Algo como esto funciona para nosotros:

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

Espero que esto ayude. :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top