提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-12-18 09:47:22.490|阅读 451 次
概述:HTML的内容使用不同的标签进行区分,可以使用C#语言轻松地将HTML转换为纯文本,而忽略开始和结束标记。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
HTML是一种标记语言,广泛用于网站,Web应用程序等中。HTML的内容使用不同的标签进行区分。您可以使用C#语言轻松地将HTML转换为纯文本,而忽略开始和结束标记。
同样,根据您的要求,可能会有一些级联的样式表规范,JavaScript或HTML的任何其他部分。因此,就像从HTML文档中提取文本一样。让我们浏览以下部分以获取详细信息:
您可以使用Aspose.HTML for .NET API将HTML转换为纯文本,点击下方按钮下方使用。
用于.NET API的Aspose.HTML基于DOM(文档对象模型),因此您可以使用INodeIterator接口在API的不同节点之间进行迭代。同样,它使您可以定义一个NodeFilter并覆盖用于过滤内容的方法的控件。您可以忽略样式,脚本或HTML文件中的任何其他元素,仅从其中选择文本字符串。以下是使用C#将HTML转换为纯TXT文件的步骤:
下面的代码显示了如何使用C#将HTML转换为纯文本文件:
String content = File.ReadAllText(dataDir + "Test2.html"); // Create an instance of HTML document using (var document = new HTMLDocument(content, "")) { // The first way of gathering text elements from document // Initialize the instance of node iterator Aspose.Html.Dom.Traversal.INodeIterator iterator = document.CreateNodeIterator(document, Aspose.Html.Dom.Traversal.Filters.NodeFilter.SHOW_TEXT, new StyleFilter()); StringBuilder sb = new StringBuilder(); Aspose.Html.Dom.Node node; while ((node = iterator.NextNode()) != null) sb.Append(node.NodeValue); Console.WriteLine(sb.ToString()); File.WriteAllText(@"NodeIterator.txt", sb.ToString()); } ////// Represents a user filter created in order to ignore content of the 'style' and 'script' element. ///class StyleFilter : Aspose.Html.Dom.Traversal.Filters.NodeFilter { public override short AcceptNode(Aspose.Html.Dom.Node n) { //If you want to avoid any element, write its name in capital letters return (n.ParentElement.TagName == "STYLE" || n.ParentElement.TagName == "SCRIPT" ? FILTER_REJECT : FILTER_ACCEPT); } }
我们已经学习了如何使用INodeIterator将HTML转换为Text。同样,还有其他几种方法可以满足这些要求。您可以创建自定义方法来提取文本,也可以按照以下步骤中的说明使用TextContent属性:
下面的代码段说明了在C#中将HTML转换为纯文本的两种不同方法:
String text = ""; String content = File.ReadAllText(dataDir + "Test2.html"); // Create an instance of HTML document var document = new HTMLDocument(content, ""); // The second way of gathering text elements from document by using custom method text = GetContent(document.Body); File.WriteAllText("Test.txt", text); // The third way of gathering text elements from document by using TextContent property text = document.Body.TextContent; File.WriteAllText("Test.txt", text); static string GetContent(Aspose.Html.Dom.Node node) { StringBuilder sb = new StringBuilder(); foreach (var n in node.ChildNodes) { if (n.NodeType == Aspose.Html.Dom.Node.ELEMENT_NODE) sb.Append(GetContent(n)); else if (n.NodeType == Aspose.Html.Dom.Node.TEXT_NODE) sb.Append(n.NodeValue); } return sb.ToString(); }
我们已经介绍了脱机网页HTML到文本的转换,其中要求HTML文件通过将其下载到磁盘上而存在。让我们更进一步,您甚至不需要将HTML文件保存在磁盘上。您可以通过使用C#将网页的URL指定为URL直接转换为TXT文件。例如,让我们通过以下步骤将Aspose.HTML for .NET API的产品页面转换为TXT文件:
下面的代码显示了如何使用C#将URL网页HTML转换为文本:
// Initialize HTMLDocument object with URL HTMLDocument document = new HTMLDocument("//products.aspose.com/html/net"); // Read the text contents of the HTML format String text = document.Body.TextContent; // Write the TXT file with extracted text File.WriteAllText("Webpage.txt", text);
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢