使用HTML Agility Pack,如何从 HTML 块中删除所有 HTML 属性、元素等,结果就像我将其粘贴到记事本中一样?
此外,我需要删除所有格式,但我需要保留 UL/LI 和 B 标签。
使用HTML Agility Pack,如何从 HTML 块中删除所有 HTML 属性、元素等,结果就像我将其粘贴到记事本中一样?
此外,我需要删除所有格式,但我需要保留 UL/LI 和 B 标签。
将 html 输入到一个 HtmlDocument 实例中,可以得到 DocumentNode 属性返回的 HtmlNode,并从那里得到文档节点的 InnerText 属性。它将为您提供去除 HTML 标记的所有文本。
如果您只想在过滤中包含特定的节点子集,那么这将更加困难。
首先,您将内容加载到 HtmlDocument 实例中并获取 DocumentNode 属性返回的 HtmlNode 实例(我将在本文档中将此节点称为根节点)。
同时,您还将创建第二个 HtmlDocument 实例,该实例将包含您正在创建的新文档。
在第一个文档中,您将递归地遍历根节点(注意,它不一定是实际的递归方法,但在语义上它将是递归行为),分析节点及其所有子节点。
如果节点本身是您认可的节点之一,那么您将开始构建该节点的新实例。
但是,如果不是,您仍然会处理元素的子节点,获取文本节点内容(因为文本本身就是一个节点)并将其附加到堆栈上的任何当前节点(如果有的话)。