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形式に変換できる必要があります
- 純粋に管理されたアプリケーションである必要があります。