Ich habe ein Problem, wenn ich versuche, Datei vom Dateisystem zu laden. Geben Sie an, dass im Wert eines HTML-Steuerelements weniger als das Zeichen "<" innerhalb des Bereichswerts enthalten ist
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();
Sie sollten keine Symbole wie <
als Inhalt in Ihrem HTML haben. Wenn Sie sie in Ihrem HTML-Code haben, wird der HTML-Code ungültig und das HTMLAgility-Paket wird nicht korrekt ausgeführt.
Wenn Sie sie in Ihrem HTML benötigen, müssen Sie sie kodieren. <
wird %lt;
siehe hier http://www.w3schools.com/html/html_entities.asp