我正在寻找C#代码将HTML文档转换为纯文本.
我不是在寻找简单的标签剥离,而是要输出纯文本,并合理保留原始布局.
输出应如下所示:
我看过HTML Agility Pack,但我认为这不是我需要的.有没有人有任何其他建议?
编辑:我只是从CodePlex下载HTML Agility Pack ,并运行Html2Txt项目.多么令人失望(至少是html到文本转换的模块)!所有这一切都是剥离标签,压平表等.输出看起来不像Html2Txt @ W3C产生的.太糟糕了,这个来源似乎不可用.我当时想看看是否有更多的"罐装"解决方案.
编辑2:谢谢大家的建议. FlySwat向我倾斜了我想去的方向.我可以使用System.Diagnostics.Process类的"突降"开关运行lynx.exe将文本发送到标准输出,并与捕获标准输出ProcessStartInfo.UseShellExecute = false和ProcessStartInfo.RedirectStandardOutput = true.我将把所有这些包装在一个C#类中.这个代码只会偶尔被调用,所以我不太关心产生一个新进程而不是代码执行它.另外,Lynx很快!
我有三个接口的层次结构,祖父母,父母和孩子.父和子有一个方法"添加",这需要孩子不同的输入参数.虽然在子项中添加所需的签名没有问题,但是继承的方法将毫无意义,那么有没有办法在那里没有它?其他方法工作正常.
也许,为了实现我想要的,我可以完全改进设计,所以我将简要介绍接口的内容:
我收集由时间和价值组成的仪表读数.祖父母接口用于单个读取.我还有一些表示连续读数(一系列)的类,一个包含在同一时间段内运行的多个系列的类(让我们只调用一个表).
该表可以被视为一个系列(它将值与时间轴正交聚合),并且表和系列都可以被视为单个读数(实现提供不同的聚合方式),因此继承.这似乎很好,但对于add方法.(我可以在系列中添加一个单点,但是对于表格,我需要一个额外的参数来告诉我它属于哪个系列.)
我试过执行以下操作:
#!C:\cygwin\bin\bash.exe
ls ${WORKSPACE}
Run Code Online (Sandbox Code Playgroud)
但是,这并没有找到ls(即使它在Windows路径上).有没有办法设置它?
更新:换句话说,我希望能够设置一个使用cygwin bash而不是windows cmd的构建步骤,就像这个页面向您展示如何处理Python一样.
只需浏览我们的数据库模式,找到一个名为'IsFemale'的字段
这个名字好,还是有点可笑?
根据我的书,开始使用自动分页所需的只是将GridView.AllowPaging设置为true.但是当我尝试导航到另一个页面时,我得到了GridView触发的事件PageIndexChanging,这是未处理的异常.然后我必须为PageIndexChanging事件创建事件处理程序,但是当我导航到下一页时,GridView不显示任何内容.
Q1 - 我做错了什么?
Q2 - Book是为Asp.Net 3.5编写的,但作者没有提到上述任何行为?!有什么想法为什么我的GridView行为如此不同?
感谢名单
编辑:
我很尴尬地说,但理由不起作用是因为我忘了删除这条线
if(IsPostBack) GridView.DataSourceID="";
Run Code Online (Sandbox Code Playgroud)
很抱歉花时间和thanx帮助我
我目前正在讨论PHP作为模板引擎与PHP之上的模板引擎之间的选择.
你有什么选择,为什么?
我说为什么当PHP是模板引擎本身时使用另一个模板引擎.
我有以下PowerShell脚本片段:
$source = 'd:\t1\*'
$dest = 'd:\t2'
$exclude = @('*.pdb','*.config')
Copy-Item $source $dest -Recurse -Force -Exclude $exclude
Run Code Online (Sandbox Code Playgroud)
这适用于将所有文件和文件夹从t1复制到t2,但它只排除"root"/"first-level"文件夹中的排除列表,而不是子文件夹中的排除列表.
如何使其排除所有文件夹中的排除列表?
C#方法可以是静态的吗?
我们今天正在讨论这个问题,我有点蠢蠢欲动.想象一下,你有一个很长的方法,你可以重构几行.新方法可能从父方法中获取一些局部变量并返回一个值.这意味着它可能是静态的.
问题是:它应该是静态的吗?它不是设计或选择的静态,仅仅是因为它不引用任何实例值.
我想在另一个事件发生时禁用特定列表上的悬停事件.