2

HTML Agility Packを使用して、 HTMLのblobからすべてのHTML属性、要素などを削除し、メモ帳に貼り付けたかのようにするにはどうすればよいですか?

さらに、すべてのフォーマットを削除する必要がありますが、UL/LIタグとBタグを保持する必要があります。

4

1 に答える 1

4

html を HtmlDocument インスタンスに入力すると、DocumentNode プロパティによって返される HtmlNode を取得でき、そこからドキュメント ノードの InnerText プロパティを取得できます。HTMLタグが取り除かれたすべてのテキストが表示されます。

フィルタリングに特定のノードのサブセットのみを含めたい場合は、少し難しくなります。

まず、コンテンツを HtmlDocument インスタンスに読み込み、DocumentNode プロパティによって返される HtmlNode インスタンスを取得します (このドキュメントのこのノードをルート ノードと呼びます)。

同時に、作成する新しいドキュメントを含む 2 番目の HtmlDocument インスタンスも作成します。

最初のドキュメントでは、ルート ノードを再帰的に反復し (実際の再帰メソッドである必要はありませんが、意味的には再帰動作になることに注意してください)、ノードとそのすべての子ノードを分析します。

ノード自体が承認したノードの 1 つである場合は、そのノードの新しいインスタンスの構築を開始します。

ただし、そうでない場合でも、要素の子ノードを処理して、テキスト ノードのコンテンツを取得し (テキスト自体がノードであるため)、それをスタック上の現在のノード (存在する場合) に追加します。

于 2010-02-28T18:09:31.943 に答える