在 .NET 开发中,将 HTML 转换为纯文本是一项常见任务,无论是从网页中提取内容、处理 HTML 邮件,还是生成轻量级的文本报告。然而,HTML 丰富的格式、标签和结构元素,往往会让需要干净、无格式文本的工作流程变得复杂。因此,使用 C# 进行 HTML 到文本的转换就显得尤为重要。
Spire.Doc for .NET 简化了这一过程——它是一款功能强大的文档处理库,原生支持加载 HTML 文件或字符串,并将其转换为干净的纯文本。本文将介绍如何使用该库在 C# 中将 HTML 转换为纯文本,并详细讲解两种核心场景:转换 HTML 字符串(内存中的内容)和转换 HTML 文件(磁盘中的内容)。
为什么选择使用 Spire.Doc 进行 HTML 到文本的转换?
Spire.Doc 是一款用于 .NET 的文档处理库,在执行 HTML 到文本转换方面具有以下显著优势:
代码简洁:只需几行代码即可处理复杂的 HTML 内容。
结构保留:在输出文本中保留逻辑格式,如换行符和列表缩进。
特殊字符支持:自动将 HTML 实体转换为对应的纯文本字符。
轻量高效:无繁重依赖,适用于桌面端和 Web 应用程序。
安装 Spire.Doc
Spire.Doc 可以通过NuGet获取,这是管理依赖项的最简便方式:
在 Visual Studio 中,右键单击你的项目,选择“管理 NuGet 程序包”。
搜索Spire.Doc,并安装最新的稳定版本。
或者,你也可以使用程序包管理器控制台,运行以下命令:
Install-Package Spire.Doc
安装完成后,你就可以开始编写 C# 代码,从 HTML 中提取文本内容了。
在 C# 中将 HTML 字符串转换为文本
本示例将一个 HTML 字符串加载为一个 Document 对象,然后使用SaveToFile()方法将其保存为纯文本文件。
using Spire.Doc;
using Spire.Doc.Documents;
namespace HtmlToTextSaver
{
class Program
{
static void Main(string[] args)
{
// 定义 HTML 内容
string htmlContent = @"
<html>
<body>
<h1>示例 HTML 内容</h1>
<p>这是一个包含 <strong>加粗</strong> 和 <em>斜体</em> 的段落.</p>
<p>另一行包含一个 <a href='https://example.com'>链接</a>.</p>
<ul>
<li>列表项 1</li>
<li>列表项 2 (包含 <em>斜体</em> 文本)</li>
</ul>
<p>特殊字符: © & ®</p>
</body>
</html>";// 创建 Document 对象
Document doc = new Document();// 添加一个节以容纳内容
Section section = doc.AddSection();// 添加一个段落
Paragraph paragraph = section.AddParagraph();// 将 HTML 渲染到段落中
paragraph.AppendHTML(htmlContent);// 另存为纯文本文件
doc.SaveToFile("HtmlStringtoText.txt", FileFormat.Txt);
}
}
}
在 C# 中将 HTML 文件转换为文本
本示例演示如何直接加载一个 HTML 文件并将其转换为纯文本。该方法非常适合批量处理或处理现有的 HTML 文档(例如已下载的网页或本地模板)。
using Spire.Doc;
using Spire.Doc.Documents;
namespace HtmlToText
{
class Program
{
static void Main()
{
// 创建 Document 对象
Document doc = new Document();// 加载HTML文件
doc.LoadFromFile("sample.html", FileFormat.Html, XHTMLValidationType.None);// 将HTML另存为纯文本文件
doc.SaveToFile("HTMLtoText.txt", FileFormat.Txt);
doc.Dispose();
}
}
}
结论
使用 Spire.Doc 库在 C# 中将 HTML 转换为文本非常简单。无论你处理的是 HTML 字符串还是 HTML 文件,Spire.Doc 都能通过自动解析 HTML、保留结构格式并完成文本转换,极大地简化这一过程。通过本文提供的示例,你可以轻松地将 HTML 到文本的转换功能集成到你的 C# 应用程序中。
你可以在此申请免费的 30 天临时许可证,以解锁 Spire.Doc 库的全部功能并移除使用限制。