在 C# 中将 HTML 转换为文本

在 .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>特殊字符: &copy; &amp; &reg;</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 库的全部功能并移除使用限制。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容