Die Suche nach Knoten von Matching Raw Html in einem HtmlAgility Htmldocument
-
03-07-2019 - |
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 passendWas 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.
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