【问题标题】:HtmlAgilityPack: Get whole HTML document as stringHtmlAgilityPack:以字符串形式获取整个 HTML 文档
【发布时间】:2011-07-08 04:34:31
【问题描述】:

HtmlAgilityPack 是否能够以字符串形式从 HtmlDocument 对象返回整个 HTML 标记?

【问题讨论】:

  • 当它是解析它的输入时,为什么需要将整个标记作为字符串返回?
  • 我正在尝试将标记直接保存到 Word 文档 (.doc) 文件中。
  • @MattBall 因为 HTML Agility Pack 不是只读的,也不仅仅用于解析!它允许您更改 HTML 元素。很自然,您希望能够重新获得最终的 HTML!

标签: c# html-agility-pack


【解决方案1】:

当然,你可以这样做:

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

OuterHtml 包含整个 html。

【讨论】:

  • 完美。谢谢!
  • 当我在当前版本中尝试此操作时,我得到的不是整个页面的 url!不用担心我会检查,一定是我。
  • 这里也一样,你找到适合你的方法了吗?
【解决方案2】:

您可以通过 Url 和 Get webResponse 创建 WebRequest 。 从 WebResponse 获取 ResponseStream 并将其读入 String。

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,你可以把它保存在任何你想要的地方。
  • 我需要进一步处理 HTML,最后我需要最终的 html 文档作为字符串...我只想知道该工具是否只允许我保存到文件,或者我是否可以选择提取 html 而无需保存/保留文件...
  • 投反对票。这个问题专门针对 HTML Agility Pack,而不是关于发出 Web 请求。 -- 这个答案与所问的问题完全无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-29
  • 2012-10-06
  • 2016-12-22
  • 2016-02-20
  • 2011-10-25
相关资源
最近更新 更多