如何在不使用 HTMLAgilityPack 的情况下从 HTML 中删除重复的属性

本文关键字:HTML 删除 属性 情况下 HTMLAgilityPack | 更新日期: 2023-09-27 18:36:46

我有像 html

    ...<button type="submit" name="ctl00$ctl16$ctl00$ctl00$searchButton" value=""
 id="ctl00_ctl16_ctl00_ctl00_searchButton" type="submit" class="search-submit" value="Search">...

并且需要以编程方式删除重复的标签,例如 type="submit"。是否可以不使用像HTMLAgilityPack这样的libriary?例如,正则表达式。

如何在不使用 HTMLAgilityPack 的情况下从 HTML 中删除重复的属性

假设您正在尝试删除同一标签中的重复属性,那么这很棘手,因为如果不解析每个标签,就无法做到这一点。解析每个标签需要解析其他所有内容,包括注释、文本、引用文本等。

因此,在不使用库的情况下执行此操作的唯一方法是基本上编写自己的HTML解析器。这就是为什么使用HTML Agility Pack或我自己的HTML Monkey会更容易。