【发布时间】:2017-06-19 16:02:14
【问题描述】:
我遇到了一些结构如下的 html 文件的问题:
<p>
...
<p>
显然写这个的人犯了一个语法错误,实际上是想写这个:
<p>
...
</p>
有人告诉我 HTML Agility Pack 会在加载时自动修复此问题,但这里似乎并非如此。我也尝试添加
HtmlNode.ElementsFlags["p"] = HtmlElementFlag.Closed;
但这只是给了我以下结果:
<p></p>
...
<p></p>
这并没有真正做到我想要的。 HTML Agility Pack 中是否存在某种方法可以在打开新标签之前自动关闭所有 p 标签?
编辑:对于我正在做的工作,p 标签永远不会被嵌套。
【问题讨论】:
-
'在打开一个新标签之前关闭所有 p 标签' 所以你说你不能嵌套一个段落标签,这没有意义
<p><span>My Title</span><p>Why should this be illegal</p></p>你最好有它自动关闭标签,但不会修复文件 -
@johnny5 我正在使用的特定 html 不会嵌套段落标签。您能否详细说明“让它自动关闭标签”是什么意思?谢谢!
-
特定的 HTML 没有,但 HTML 敏捷包不能假设,我不确定您将如何指定告诉 HTML 敏捷包更改其默认行为,也许它具有可覆盖的访问者模式
标签: c# html html-parsing html-agility-pack