HtmlAgilityPack chargement du fichier

c# html-agility-pack

Question

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();

Réponse populaire

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




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi