使用HtmlAgilityPack將特定節點保存為HTML

c# html html-agility-pack

我有一個網站,顯示一個表格以及一些按鈕,導航標籤等。使用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");

據我所知,字符串“dashboard”應該包含一個完整的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合法嗎? 是的,了解原因