HtmlAgilityPack:将整个HTML文档作为字符串获取


73

HtmlAgilityPack是否可以将HtmlDocument对象的整个HTML标记返回为字符串?


当这是解析内容的输入时,为什么需要将整个标记返回为字符串?
Matt Ball

我试图将标记直接保存到Word文档(.doc)文件中。
deostroll 2011年


3
@MattBall,因为HTML Agility Pack不是只读的,也不只是用于解析!它允许您更改HTML元素。然后,您很自然希望能够获得最终的HTML!
BrainSlugs83

Answers:


128

当然,您可以这样做:

HtmlDocument doc = new HtmlDocument();
// call one of the doc.LoadXXX() functions
Console.WriteLine(doc.DocumentNode.OuterHtml);

OuterHtml包含整个html。


2
完善。谢谢!
mack

当我尝试使用当前版本进行此操作时,我得到的网址不是整个页面!不用担心,我一定会检查的。
NoChance

-2

您可以创建传递Url的WebRequest并获取webResponse。从WebResponse获取ResponseStream并将其读入字符串。

string result = string.Empty;

WebRequest req = WebRequest.Create(Url);
WebResponse res= wrq.GetResponse();    
StreamReader reader = new StreamReader(res.GetResponseStream());
result = reader.ReadToEnd();    
reader.Close();
res.Close();

希望这可以帮助。


有了它,您便拥有了完整的HTML,并且可以将其保存在任何位置。
布达2011年

2
我需要进一步处理HTML,然后最后我需要将最终的html文档作为字符串...我只想知道该工具是否只允许我保存到文件,或者我可以选择无需保存/持久保存文件即可提取html的内容
deostroll 2011年

3
不赞成投票。问题特别是关于HTML Agility Pack,而不是关于发出Web请求。-这个答案与提出的问题完全无关。
BrainSlugs83
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.