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

本文关键字:元素 节点 是什么 任何 HTML | 更新日期: 2023-09-27 18:17:12

我想从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

,结果,我只想要"hello"。现在我收到的是"hellohello world"

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

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

让我们试着删除所有未标记的文本:

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