J'ai un problème lorsque j'essaie de charger un fichier à partir d'un système de fichiers. Problème qui a moins que le signe "<" dans la valeur de contrôle HTML
HtmlDocument doc = new HtmlDocument();
doc.OptionReadEncoding = true;
//StreamReader str = new StreamReader(fileName, Encoding.UTF8);
StreamReader str = new StreamReader(@"E:\HTMLS\OEL\1030,1.html",Encoding.UTF8,true);
doc.Load(str.BaseStream, Encoding.ASCII);
//string streamString = str.ReadToEnd().
str.Close();
//all nodes
doc.DocumentNode.Descendants().Where(x => x.Name == "#text" && (x.InnerText == "\r\n\t" || x.InnerText == "\r\n" || x.InnerText == "\r\n\t\t")).ToList().ForEach(x => x.Remove());
List<HtmlNode> listHtmlNode = doc.DocumentNode.Descendants("table").ToList();
Vous ne devriez pas avoir de symboles tels que <
tant que contenu dans votre code HTML. Les avoir dans votre code HTML rend le code HTML invalide et empêchera le pack HTMLAgility de fonctionner correctement.
Si vous en avez besoin dans votre code HTML, vous devez les encoder. <
devient %lt;
voir ici http://www.w3schools.com/html/html_entities.asp