2009-05-08 7 views
6

Quelqu'un sait-il un analyseur HTML pour VB.NET ou C#? Je sais que .NET a beaucoup de support XML, comme XMLReader et XMLWriter. Y a-t-il un HTMLWriter ou HTMLReader? Finalement, ce que j'aimerais, c'est une bibliothèque qui va analyser un fichier HTML et déclencher des événements en fonction des balises qu'il trouve. Quelqu'un sait-il d'une bibliothèque pour le faire?Analyseur HTML

+0

Je ne peux pas croire doesnt BCL ont un analyseur syntaxique HTML approprié dans un espace de noms/assemblage neutre approprié (sans toucher certains de ces ensembles de l'interface utilisateur) . JSON et XML ont eu une tonne de cours. – nawfal

Répondre

5

Le HTML Agility Pack est le chemin à parcourir si vous voulez analyser HTML (il fait même du bon travail sur tag soupe). Théoriquement, l'analyseur syntaxique XML inclus dans la BCL devrait être en mesure d'analyser XHTML valide, mais le HTML Agility Pack est une solution générique qui peut gérer les variantes HTML, XHTML et désordonnées des deux.

La génération d'événements lors de la recherche d'étiquettes est quelque chose que vous devrez implémenter vous-même bien sûr, mais cela devrait être plutôt trivial avec la classe HtmlReader.

+0

Je l'ai utilisé dans le code de production et été très heureux. – mkelley33

+0

Je l'utilise également en production - fonctionne bien! – Dror

1

J'ai écrit ce HtmlParser il y a longtemps et je viens de le publier en tant que projet open source sur GitHub. Il est plus rapide que les outils d'analyse HTML classiques car il ne construit pas le DOM. Il fait exactement ce que vous avez demandé et soulève des "événements" pour chaque tag.

https://github.com/calbucci/CalbucciLib.HtmlParser

Je viens d'ajouter à NuGet:

https://www.nuget.org/packages/CalbucciLib.HtmlParser/

+0

Est-ce que cela analyse également les balises HTML5? Tels que

et etc? – Icemanind

+0

Oui, c'est le cas. Il supporte même les balises inconnues. –