Как определить отсутствующие теги родительского списка - PullRequest
0 голосов
/ 19 апреля 2019

У меня большая коллекция 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.

Я знаю, что могу написать процедуру для перебора всех узлов и поиска узлов li, у которых нет родительского узла типа ul или ol, затем найти все последующие узлы li и, наконец, обернуть их тегом ul, но я не могу поверить, что у меня первая такая проблема. Это недостаток HtmlAgilityPack или я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...