Non mi piacciono alcune delle decisioni di progettazione prese in HtmlAgilityPack:
SelectNodes
, se non viene trovato alcun nodo, restituisce null
anziché un set vuoto, quindi non è possibile eseguire solo il foreach
su di esso senza un controllo Null. node.SelectNodes
, la ricerca node.SelectNodes
effettivamente dalla radice del documento, a meno che non si usi descendant::
che non è affatto un comportamento ovvio o atteso, IMO. HtmlDocument.Load
non restituisce il nodo radice, che è ciò che vorresti il 99% delle volte, penso Ovviamente potresti non essere d'accordo, ma non è questo il punto. Sto cercando qualcosa di diverso . Qualcosa che si comporta un po 'di più, o qualcosa che usa la sintassi jQuery sarebbe ancora meglio. Suggerimenti?
Progetto avviato chiamato SharpQuery
Attualmente supporta i selettori di ID, classe, tag e attributo.
a
a[href]
a[href^=http://stackoverflow.com]
.class
#id
Aggiornamento: non sto mantenendo questo progetto, mi dispiace. CsQuery ha aggiornamenti recenti (a luglio 2013), ma non ho esperienza nell'usarlo.