gpt4 book ai didi

c# - Html Agility Pack可以用来解析HTML片段吗?

转载 作者:太空狗 更新时间:2023-10-29 14:08:42 25 4
gpt4 key购买 nike

我需要从 ASP.NET 页面、用户控件和母版页获取 LINKMETA 元素,获取它们的内容,然后将更新后的值写回这些文件我正在开发的实用程序。

我可以尝试使用正则表达式来获取这些元素,但这种方法存在几个问题:

  • 我希望许多输入文件包含损坏的 HTML(丢失/乱序元素等)
  • SCRIPT 元素,其中包含注释和/或看起来像有效元素的 VBScript/JavaScript 等。
  • 我需要能够对 IE 条件注释以及 IE 条件注释中的 METALINK 元素进行特殊处理
  • 更不用说 HTML 不是一种常规语言

我对 .NET 中的 HTML 解析器进行了一些研究,许多 SO 帖子和博客推荐 HTML Agility Pack .我以前从未使用过它,我不知道它是否可以解析损坏的 HTML 和 HTML 片段。 (例如,想象一个用户控件只包含一个 HEAD 元素,里面有一些内容——没有 HTMLBODY。)我知道我可以阅读文档,但如果有人可以建议,它会节省我很多时间。 (大多数 SO 帖子都涉及解析完整的 HTML 页面。)

最佳答案

当然,这就是它擅长的地方。

事实上,由于缺少 <html>,您在野外发现的许多网页都可以描述为 HTML 片段。标签或未正确关闭的标签。

HtmlAgilityPack 模拟浏览器必须做的事情 - 尝试从有时是一堆不匹配的标签中弄明白。一门不完美的科学,但 HtmlAgilgityPack 做得很好。

关于c# - Html Agility Pack可以用来解析HTML片段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12532685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com