如何识别缺失的父列表标签

时间:2019-04-19 17:17:54

标签: c# nested html-agility-pack

我收集了大量带错误的HTML页面。一个非常常见的错误是没有父标记的列表项。例如:

<p>blah blah</p>
<li>item 1</li>
<li>item 2</li>
<p>more blah blah</p>

我正在使用HTMLAgilityPack,但是找不到一种简单的方法来识别和修复这些错误。

  HtmlDocument html = new HtmlDocument
  {
     OptionFixNestedTags = true, //doesn't fix it
     OptionAutoCloseOnEnd = true
  };

   html.LoadHtml(source);
   var parseErrors = html.ParseErrors;
   //doesn't find any errors.

我知道我可以编写一个过程来遍历所有节点并找到没有ul或ol类型的父节点的li节点,然后找到所有后续的li节点并最后用标签ul包装它们,但我不敢相信我是第一个遇到这个问题的人。 这是HtmlAgilityPack的缺点还是我缺少什么?

0 个答案:

没有答案