Comment utiliser le pack d'agilité HTML ?
Mon document XHTML n'est pas complètement valide. Voilà pourquoi je voulais l'utiliser. Comment l'utiliser dans mon projet? Mon projet est en C #.
c#
html
html-agility-pack
carla
la source
la source
var body = CQ.CreateFromFile(filePath)["body"]
.Réponses:
Tout d'abord, installez le package de nuget HTMLAgilityPack dans votre projet.
Ensuite, à titre d'exemple:
(NB: Ce code n'est qu'un exemple et pas nécessairement la meilleure / seule approche. Ne l'utilisez pas aveuglément dans votre propre application.)
La
HtmlDocument.Load()
méthode accepte également un flux qui est très utile pour l'intégration avec d'autres classes orientées flux dans le framework .NET. Tandis queHtmlEntity.DeEntitize()
est une autre méthode utile pour traiter correctement les entités html. (merci Matthew)HtmlDocument
etHtmlNode
sont les classes que vous utiliserez le plus. Semblable à un analyseur XML, il fournit les méthodes selectSingleNode et selectNodes qui acceptent les expressions XPath.Faites attention aux
HtmlDocument.Option??????
propriétés booléennes. Ceux-ci contrôlent laLoad
LoadXML
méthodes et traiteront votre code HTML / XHTML.Il existe également un fichier d'aide compilé appelé HtmlAgilityPack.chm qui contient une référence complète pour chacun des objets. Il se trouve normalement dans le dossier de base de la solution.
la source
SelectSingleNode()
semble avoir été supprimé il y a quelque tempsJe ne sais pas si cela vous sera utile, mais j'ai écrit quelques articles qui présentent les bases.
Le prochain article est terminé à 95%, il me suffit de rédiger des explications sur les dernières parties du code que j'ai écrites. Si vous êtes intéressé, je vais essayer de ne pas oublier de poster ici lorsque je le publierai.
la source
HtmlAgilityPack utilise la syntaxe XPath, et bien que beaucoup soutiennent qu'elle est mal documentée, je n'ai eu aucun problème à l'utiliser avec l'aide de cette documentation XPath: https://www.w3schools.com/xml/xpath_syntax.asp
Analyser
J'ai fait ça:
la source
XPath
norme. Il faut d'abord apprendre ce standard et tout sera facile après cela.Le code principal lié à HTMLAgilityPack est le suivant
la source
la source
Mise en route - HTML Agility Pack
la source
essaye ça
la source