Управляемая (.NET) библиотека с HTML Tidy-подобной функциональностью? - PullRequest
2 голосов
/ 27 апреля 2010

Существует ли очиститель 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
  • Должно быть чисто управляемым приложением.

1 Ответ

1 голос
/ 02 июня 2011

Попробуйте TidyManaged .

...