Управляемая (.NET) библиотека с HTML Tidy-подобной функциональностью?
Существует ли очиститель HTML для.NET, который может анализировать HTML и (например) преобразовывать его в более удобный для машин формат, такой как XHTML?
Я пробовал HTML Agility Pack, но он не может правильно проанализировать даже довольно простые примеры.
Чтобы привести пример HTML, который должен быть правильно проанализирован:
<html><title>test</title>
<body>
<ul><li>TestElem1
<li>TestElem2
<li>TestElem3 List:
<ul><li>Nested1
<li>Nested2</li>
<li>Nested3
</ul>
<li>TestElem4
</ul>
<p>paragraph 1
<p>paragraph 2
<p>paragraph 3
</body></html>
li
теги не должны быть закрыты ( см. спецификацию), и ни один не делает P
теги Другими словами, приведенный выше пример должен быть проанализирован как:
<html><title>test</title>
<body>
<ul><li>TestElem1</li>
<li>TestElem2</li>
<li>TestElem3 List:
<ul><li>Nested1</li>
<li>Nested2</li>
<li>Nested3</li>
</ul></li>
<li>TestElem4</li>
</ul>
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
</body></html>
Поскольку цель состоит в том, чтобы использовать библиотеку на разных машинах, большой недостаток заключается в необходимости использовать нативный код (такой как обертка вокруг HTML Tidy), который потребует дополнительных хлопот при развертывании и принесет в жертву независимость от платформы, не говоря уже о том, что это невозможно в сценарии в песочнице.
Какие-либо предложения? Напомним, я ищу:
- HTML-очиститель аля HTML Tidy
- Должен быть в состоянии иметь дело с реальным HTML, а не только с XHTML, по крайней мере, с правильным чтением действительного HTML 4
- Должен быть в состоянии преобразовать в более легко обрабатываемый формат XML
- Должно быть чисто управляемым приложением.