Je n'aime pas certaines des décisions de conception prises dans HtmlAgilityPack:
SelectNodes
, si aucun nœud se trouvent, elle renvoie null
plutôt que d' un ensemble vide, de sorte que vous ne pouvez pas simplement foreach
dessus sans contrôle nul. node.SelectNodes
il effectue une recherche à partir de la racine du document, à moins que vous n'utilisiez descendant::
ce qui n'est ni évident, ni le comportement attendu, IMO. HtmlDocument.Load
ne HtmlDocument.Load
pas le nœud racine, ce qui est ce que vous souhaiteriez 99% du temps, je pense Vous pouvez être en désaccord avec cela, bien sûr, mais ce n'est pas le but. Je cherche quelque chose de différent . Quelque chose qui se comporte un peu plus, ou quelque chose utilisant la syntaxe jQuery serait encore mieux. Suggestions?
Projet lancé appelé SharpQuery
Prend actuellement en charge les sélecteurs d'identifiant, de classe, de balise et d'attribut.
a
a[href]
a[href^=http://stackoverflow.com]
.class
#id
Mise à jour: je ne maintiens pas ce projet, désolé. CsQuery a des mises à jour récentes (à compter de juillet 2013), mais je n'ai aucune expérience de son utilisation.