Je n'aime pas certaines des décisions de conception dans HtmlAgilityPack:Alternatives à HtmlAgilityPack?
- Lorsque vous utilisez
SelectNodes
, si aucun nœud se trouvent, il retournenull
plutôt que d'un ensemble vide, de sorte que vous ne pouvez pas simplementforeach
dessus sans vérification nulle. - Lorsque vous essayez de sélectionner des enfants avec
node.SelectNodes
, il effectue une recherche à partir de la racine du document à moins que vous n'utilisiezdescendant::
, ce qui n'est pas du tout un comportement évident ou attendu, IMO. HtmlDocument.Load
ne retourne pas le nœud racine, qui est ce que vous voulez 99% du temps, je pense que
Vous pourriez en désaccord avec cela bien sûr, mais ce n'est pas le point. Je cherche quelque chose différent. Quelque chose qui se comporte un peu plus, ou quelque chose qui utilise la syntaxe jQuery serait encore mieux. Suggestions?
J'espère que cela fonctionne pour vous, http://code.google.com/p/fizzler/ –
Pour les exemples que vous avez donnés, il devrait être assez facile de modifier le comportement à celui que vous désirez. Puisque HtmlAgilityPack est open source, avez-vous envisagé de prendre une fourchette locale et de faire ces changements? –
Pour le moment, je viens de l'emballer avec mes propres fonctions, mais quand même. S'il y a quelque chose d'autre un peu plus aligné sur mes philosophies, je ne vais pas gaspiller mes efforts :) Je ne fais que de l'analyse HTML de temps en temps pour de petits projets, donc je ne pense pas que ça vaut le coup c'est comme ça que je pense que ça devrait être. – mpen