HtmlAgilityPackを使用して特定のノードをHTMLとして保存する

c# html html-agility-pack

質問

私はいくつかのボタン、ナビゲーションタブなどと一緒にテーブルを表示するWebサイトを持っています。HtmlAgilityPackを使用して、私はテーブル(div)を含むノードだけを.htmlファイルに保存したいと思います。私はこのコードを試しています:

string dashboard = doc.DocumentNode.SelectSingleNode("//div[@id='Dashboard']").InnerHtml;
doc.LoadHtml(dashboard);
doc.Save(currDir + "\\dashboardOutputFile.html");

しかし、これはテーブルのテキストコンポーネントだけを保持し、レイアウト/表示情報は保持しません。私はDoctype宣言を追加しようとしているだけでなく、ダッシュボードの文字列にhtmlタグとbodyタグを入れてみましたが効果はありません。

アドバイスをいただければ幸いです。

よろしく。

編集:

私はもっ​​と明示する必要があります。私はRenderメソッドをオーバーライドして自分のページのhtmlをキャプチャしています:

string dashboard = doc.DocumentNode.SelectSingleNode("//div[@id='Dashboard']").InnerHtml;
doc.LoadHtml(dashboard);
doc.Save(currDir + "\\dashboardOutputFile.html");

私の知る限りでは、文字列「ダッシュボード」には、この後に完全なHTMLページが含まれているはずです。ただし、結果の.htmlファイルは次のように表示されます。

string dashboard = doc.DocumentNode.SelectSingleNode("//div[@id='Dashboard']").InnerHtml;
doc.LoadHtml(dashboard);
doc.Save(currDir + "\\dashboardOutputFile.html");

表のセルのテキストのみが表示されます。テーブルレイアウトや背景色などはありません。ファイルをJSFiddleにコピーしても、このように表示されます。私はこれを完全なHTMLページにするために何が欠けていますか?

受け入れられた回答

ダウンロードしたページには、元のhtmlにリンクされているcssファイルはありません。




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ