HtmlAgilityPack DocumentNode.SelectNodes gibt null zurück, sollte nicht

asp.net c# html-agility-pack parsing xpath

Frage

Ich versuche, Inhalte von einer Beispielseite mithilfe des HTML-Agilitätspakets zu entfernen. Die DocumentNode.SelectNodes gibt NULL für eine XPath-Abfrage zurück, wenn ich denke, dass dies nicht der Fall sein sollte. Kann mir jemand sagen warum? Der Code ist:

HtmlDocument doc = new HtmlDocument();
string xpath = "//h1[@class='product-title fn']"; // note, it still returns 
                                                  // null even with "//div"
doc.OptionFixNestedTags = true;
HtmlNode.ElementsFlags.Remove("form");
HtmlNode.ElementsFlags.Remove("option");

HtmlNodeCollection coll = doc.DocumentNode.SelectNodes(xpath);

if (coll != null)
{
    // do stuff
}
else
{
    // not expecting it to be null unless no matches
}

Beliebte Antwort

Gemäß den Upstream-Bug-Kommentaren ist es auf Konsistenz ausgerichtet:

DarthObiwan schrieb 11. Januar 2011 um 9:27 Uhr

Dies wurde zuvor behandelt, diese Funktion wurde geschrieben, um die Funktionsweise von System.XML nachzuahmen. Dies wird eine große Änderung verursachen und wird wahrscheinlich für 2.0 geplant




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum