如何解析 HTML 或将 HTML 转换为 XML,以便我从网站中提取信息(在 C# 中)[重复]

Posted

技术标签:

【中文标题】如何解析 HTML 或将 HTML 转换为 XML,以便我从网站中提取信息(在 C# 中)[重复]【英文标题】:How to parse HTML or convert HTML to XML so I extract the information out of the website (in C#) [duplicate] 【发布时间】:2012-07-03 12:00:48 【问题描述】:

可能重复:What is the best way to parse html in C#?

有没有办法解析 HTML 或将 HTML 转换为 XML,以便我轻松地从网站中提取信息?

我正在使用 C#。

谢谢,

【问题讨论】:

您应该查看HtmlAgilityPack 【参考方案1】:

HTMLAgilityPack 是您正在寻找的。看看这个教程Parsing HTML Document with HTMLAgilityPack

【讨论】:

【参考方案2】:

您可以使用Microsoft HTML Object Library 中的COM 对象来加载HTML,然后使用它的对象模型进行导航。示例如下:

string html;
WebClient webClient = new WebClient();
using (Stream stream = webClient.OpenRead(new Uri("http://www.google.com")))
using (StreamReader reader = new StreamReader(stream))

  html = reader.ReadToEnd();

IHTMLDocument2 doc = (IHTMLDocument2)new HTMLDocument();
doc.write(html);
foreach (IHTMLElement el in doc.all)
  Console.WriteLine(el.tagName);

【讨论】:

以上是关于如何解析 HTML 或将 HTML 转换为 XML,以便我从网站中提取信息(在 C# 中)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将解析的 html 存储为 XML 输出的最佳方法

当使用 WinForms 提取数据时,XML 会转换为纯文本。有没有办法维护 XML,或将其转换回 C#?

Android:解析 XML DOM 解析器。将子节点转换为字符串

防止 xslt 将 xml 转换为 html

C#如何将xml数据转换成Array类型或者集合类?多谢!!!

如何在 C# 摘要中包含 html 标记,以便将其作为文本处理(不解析为 XML)?