我正在寻找将 HTML 文档转换为纯文本的 C# 代码。
我不是在寻找简单的标签剥离,而是在 合理 保留原始布局的情况下输出纯文本的东西。
输出应如下所示:
我看过 HTML Agility Pack,但我认为这不是我需要的。有没有人有任何其他建议?
编辑: 我只是从 CodePlex 下载 HTML Agility Pack,然后运行 Html2Txt 项目。多么令人失望(至少是进行 html 到文本转换的模块)!它所做的只是剥离标签、展平表格等。输出看起来与 W3C 生成的 Html2Txt 完全不同。太糟糕了,该来源似乎不可用。我正在寻找是否有更多“罐装”解决方案可用。
编辑2: 谢谢大家的建议。 FlySwat 将我引向了我想去的方向。我可以使用 System.Diagnostics.Process
类来运行带有“-dump”开关的 lynx.exe 以将文本发送到标准输出,并使用 ProcessStartInfo.UseShellExecute = false
和 ProcessStartInfo.RedirectStandardOutput = true
捕获标准输出 ---
.我将把所有这些包装在一个 C# 类中。这段代码只会偶尔被调用,所以我不太担心产生一个新进程而不是在代码中执行它。另外,Lynx 速度很快!!
原文由 Matt Crouch 发布,翻译遵循 CC BY-SA 4.0 许可协议
您正在寻找的是一个输出文本的文本模式 DOM 渲染器,很像 Lynx 或其他文本浏览器……这比您预期的要难得多。