HtmlAgilityPack:获取完整的HTML文档作为字符串。

87

HtmlAgilityPack是否能够将一个HtmlDocument对象中的整个HTML标记作为字符串返回?


当输入的内容需要解析时,为什么需要将整个标记返回为字符串? - Matt Ball
我正在尝试将标记直接保存到Word文档(.doc)文件中。 - deostroll
2
可能是HtmlAgility-将解析保存到字符串的重复问题。 - Amit G
5
因为HTML Agility Pack不仅仅是用于解析,而且它是可读写的!它允许你对HTML元素进行修改。因此,自然而然地,你想要能够取回最终的HTML内容! - BrainSlugs83
2个回答

152

当然,你可以这样做:

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

OuterHtml包含整个HTML。


3
完美。谢谢! - mack
当我使用当前版本尝试时,我只收到了URL而不是完整的页面!别担心,我会检查一下,可能是我的问题。 - NoChance
同样的问题,你找到适合你的解决方案了吗? - E.D.

-6
你可以创建 WebRequest 传递 Url 并获取 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代码,并且可以将其保存在任何你想要的地方。 - buda
2
我需要进一步处理HTML,最终需要将HTML文档作为字符串输出...我只想知道这个工具是否只允许我保存到文件,还是我有提取HTML的选项,而无需保存/持久化文件... - deostroll
6
被踩了。问题明确是关于HTML Agility Pack的,而不是关于进行网页请求的。这个答案与所提出的问题完全无关。 - BrainSlugs83

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接