阅读 C# 中的 HTML 为您打开了一个与 C# .NET 应用程序中的 Web 内容交互的可能性世界。您可以轻松解析或导航 HTML 文档,以执行简单的数据提取或使用 C# 执行复杂的 Web 抓取任务来处理 HTML 内容。因此,这篇博文介绍了如何在 C# 中读取 HTML,同时介绍了根据您的要求加载 HTML 内容和解析 HTML 字符串的不同方法。
在 C# 中配置 HTML Reader API
您可以轻松地从 新版本 部分下载 API,或通过在 Visual Studio 的包管理器控制台中运行以下安装命令,从 NuGet 库安装 Conholdate.Total for .NET:
PM> NuGet\Install-Package Conholdate.Total
用 C# 读取 HTML 文件
HTML(超文本标记语言)是网页的主干,负责定义网站的结构和内容。它由由标签表示的元素组成,每个元素都有特定的用途。当您访问网页时,浏览器会解释 HTML 代码并将其呈现为您可以与之交互的可视布局。要在 C# 中读取和操作 HTML 内容,您可以按照以下步骤解析和导航 HTML 文档:
- 使用 HTMLDocument 类实例加载源 HTML 文件。
- 使用 OuterHTML 属性读取 HTML 内容。
下面的代码片段演示了如何使用 C# 读取 HTML 文件:
string documentPath = "document.html";
// 加载 HTML 文件
var document = new HTMLDocument(documentPath);
// 将文档内容写入输出流
Console.WriteLine(document.DocumentElement.OuterHTML);
在 C# 中导航 HTML 文件以读取 HTML 内容
您需要按照以下步骤在 C# 中导航 HTML 文件并读取 HTML 内容:
- 准备 HTML 代码并启动 HTMLDocument 类对象。
- 获取对 BODY 的第一个子级(第一个 SPAN)的引用。
- 浏览子节点并提取信息。
以下代码示例展示了如何在 C# 中导航 HTML 节点以读取 HTML 内容:
// 准备 HTML 代码
var html_code = "<span>Hello</span> <span>World!</span>";
// 从准备好的代码初始化文档
using (var document = new Aspose.Html.HTMLDocument(html_code, "."))
{
// 获取对 BODY 的第一个子级(第一个 SPAN)的引用
var element = document.Body.FirstChild;
Console.WriteLine(element.TextContent); // output: Hello
// 获取对 html 元素之间空白的引用
element = element.NextSibling;
Console.WriteLine(element.TextContent); // output: ' '
// 获取对第二个 SPAN 元素的引用
element = element.NextSibling;
Console.WriteLine(element.TextContent); // output: World!
}
在 C# 中将 HTML 文件作为字符串读取
您可以通过以下步骤从任何 URL 以 C# 字符串形式读取 HTML 文件:
- 使用 URL 初始化 HTMLDocument 类对象。
- 读取HTML格式的文本内容。
- 通过 URL 从 HTML 中提取文本写入 TXT 文件。
下面的代码示例详细说明了如何从任何 URL 以 C# 字符串形式读取 HTML 文件:
// 使用 URL 初始化 HTMLDocument 对象
HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net");
// 读取HTML格式的文本内容
String text = document.Body.TextContent;
// 使用提取的文本写入 TXT 文件
File.WriteAllText("Webpage.txt", text);
免费评估许可证
您可以获得免费临时许可证以避免任何评估限制。
加起来
能够用 C# 读取 HTML 是从事 Web 相关项目和数据提取任务的一项宝贵技能。在这篇博文中,我们介绍了用 C# 读取 HTML 的三种不同方法。这使您能够从 HTML 页面中抓取或解析信息以进行进一步处理。但是,您可以探索 API 提供的许多其他功能,并随时通过 论坛 与我们联系。