Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从非';从一个标题开始_C#_Html_Html Agility Pack - Fatal编程技术网

C# 从非';从一个标题开始

C# 从非';从一个标题开始,c#,html,html-agility-pack,C#,Html,Html Agility Pack,使用HTMLAgilityPack for C#,如何从HTML中获取不是来自的内部文本。我不想使用正则表达式,但使用HTMLAgilityPack 我目前的做法是: var document = new HtmlDocument(); document.LoadHtml (text); text = document.DocumentNode.SelectSingleNode ("//body").InnerText; 这有问题,在处理大量文本时不太起作用。最好删除标题标记,然后抓取内部文本

使用HTMLAgilityPack for C#,如何从HTML中获取不是来自
的内部文本。我不想使用正则表达式,但使用HTMLAgilityPack

我目前的做法是:

var document = new HtmlDocument();
document.LoadHtml (text);
text = document.DocumentNode.SelectSingleNode ("//body").InnerText;
这有问题,在处理大量文本时不太起作用。最好删除标题标记,然后抓取内部文本


谢谢

只需删除不需要的标记,然后获取body.innerText:

string[] tagsToRemove = { "h1", "h2", "h3", h4", "h5", "h6" };
List<string> tagsToRemoveList = tagsToRemove.ToList();
doc.DocumentNode.Descendants()
    .Where(n => tagsToRemoveList.Contains(n..Name.ToLowerCase()))
    .ToList()
    .ForEach(n => n.Remove());
string[]tagsToRemove={“h1”、“h2”、“h3”、“h4”、“h5”、“h6”};
List tagsToRemoveList=tagsToRemove.ToList();
doc.DocumentNode.subjects()文件
.Where(n=>tagsToRemoveList.Contains(n..Name.ToLowerCase())
托利斯先生()
.ForEach(n=>n.Remove());

这是一种非常简单的方法。非常感谢!