Frage

Im Moment habe ich ein Programm, das findet und bearbeitet HTML-Dateien basierend auf einen Tag mit einer entsprechenden ID zu finden.

Ich mag es verlängern, um einen Tag zu finden, die Innerhtml (ohne Berücksichtigung der Kapitalisierung und Leerzeichen)

hat passend

Was ist ein guter Weg, Html Agility zu verwenden, dies zu tun? Ich möchte es mit Html Agility tun, weil der Rest des Programms wird es verwendet wird.

Danke.

War es hilfreich?

Lösung

Rauten Schießen es hier aber man sollte so etwas tun können:

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

Andere Tipps

Wir haben dies mit regulären Ausdrücken getan. So etwas wie das funktioniert für uns:

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

Hoffe, das hilft. :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top