Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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# 没有任何html标记的元素的节点名是什么?_C#_Html_Linq_Html Agility Pack - Fatal编程技术网

C# 没有任何html标记的元素的节点名是什么?

C# 没有任何html标记的元素的节点名是什么?,c#,html,linq,html-agility-pack,C#,Html,Linq,Html Agility Pack,我想从html文档中删除没有html标记的文本。我正在使用LINQ doc.DocumentNode.Descendants().Where(d => d.Name == "script" || d.Name == "style" || d.NodeType == HtmlNodeType.Comment)

我想从html文档中删除没有html标记的文本。我正在使用LINQ

 doc.DocumentNode.Descendants().Where(d => d.Name == "script" 
                                        || d.Name == "style" 
                                        || d.NodeType == HtmlNodeType.Comment)
                               .ToList()
                               .ForEach(d => d.Remove());
我正在使用这段代码。我想在LINQ中再添加一个条件,这样我就可以删除任何没有标记的文本

<div>hello</div>hello world
hellohello世界
结果,我只想说“你好”。现在我正在收听“hellohello world”

请帮我解决这个问题。
有没有办法使用LINQ命令删除此文本?我有一个想法,如果我知道没有标记的后代的名称,那么我可以通过简单地添加一个条件来解决它。

让我们尝试删除任何未标记的文本:

    doc.DocumentNode.Descendants()
        .Where(d => d.NodeType == HtmlNodeType.Text && d.ParentNode.Equals(doc.DocumentNode))
        .ToList()
        .ForEach(d => d.Remove());

您希望如何处理此
ForEach(d=>d.Remove())
??由于
ForEach
不返回任何内容,因此如果您尝试将其分配给变量,则不会编译。我将通过此操作删除脚本、样式和注释标记的所有节点。此代码运行良好。我已经在多个文档上测试了它。现在我只想删除前面提到的“没有标签的文本”。