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");

필자가 아는 한 "대시 보드"문자열에는 완전한 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는 합법적입니까? 예, 이유를 알아보십시오.