2

HTMLを解析して(たとえば)XHTMLなどのよりマシンフレンドリーな形式に変換できる.NET用のHTMLクリーナーはありますか?

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クリーナーalaHTMLTidy
  • 少なくとも有効なHTML4を正しく読み取るために、XHTMLだけでなく、実際のHTMLを処理できる必要があります。
  • より簡単に処理できるXML形式に変換できる必要があります
  • 純粋に管理されたアプリケーションである必要があります。
4

1 に答える 1

1

TidyManagedをお試しください。

于 2011-06-02T05:23:20.977 に答える