Kann Html Agility Pack verwendet werden, um ein HTML-String-Fragment zu analysieren?
Sowie:
var fragment = "<b>Some code </b>";
Dann alle <b>
Tags extrahieren? Alle Beispiele, die ich bisher gesehen habe, wurden wie HTML-Dokumente geladen.
Wenn es HTML ist, dann ja.
string str = "<b>Some code</b>";
// not sure if needed
string html = string.Format("<html><head></head><body>{0}</body></html>", str);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
// look xpath tutorials for how to select elements
// select 1st <b> element
HtmlNode bNode = doc.DocumentNode.SelectSingleNode("b[1]");
string boldText = bNode.InnerText;
Ich denke nicht, dass dies die beste Verwendung von HtmlAgilityPack ist.
Normalerweise sehe ich Leute, die versuchen, große Mengen von HTML mit regulären Ausdrücken zu analysieren, und ich weise sie auf HtmlAgilityPack hin, aber in diesem Fall wäre es besser, eine Regex zu verwenden.
Roy Osherove hat einen Blogbeitrag geschrieben, in dem beschrieben wird, wie Sie das gesamte HTML aus einem Snippet entfernen können:
Selbst wenn Sie den richtigen xpath mit Mika Kolaris Beispiel erhalten hätten, würde dies nur für ein Snippet mit einem <b> -Tag funktionieren und würde brechen, wenn sich der Code ändert.