我有一个存储在表格中的Html片段.不是整页,没有标签等,只是基本的格式.
我希望能够在给定页面上显示Html仅作为文本,没有格式化(实际上只是前30到50个字符,但这很容易).
如何将该Html中的"文本"作为直文放入字符串中?
所以这段代码.
<b>Hello World.</b><br/><p><i>Is there anyone out there?</i><p>
变为:
你好,世界.有没有人在那里?
我想使用HTML敏捷包来解析复杂网页中的表,但我在对象模型中丢失了.
我查看了链接示例,但没有找到任何表数据.我可以使用XPath来获取表吗?在加载了关于如何获取表格的数据后,我基本上已经丢失了.我之前在Perl中做过这个,它有点笨拙,但很有效.(HTML::TableParser).
如果能够解释正确的解析对象顺序,我也很高兴.
我需要将HTML字符串转换为纯文本(最好使用HTML Agility包).适当的白色空间,特别是正确的换行符.
通过"正确的换行符"我的意思是这段代码:
<div>
    <div>
        <div>
            line1
        </div>
    </div>
</div>
<div>line2</div>
应转换为
line1
line2
即只有一个换行符.
我见过的大多数解决方案只是简单地将所有<div> <br> <p>标签转换为\ns*cks.
有关C#的html到plaintext渲染逻辑的任何建议吗?不完整的代码,至少常见的逻辑答案,如"用换行符替换所有关闭的DIV,但只有当下一个兄弟也不是DIV"时才真正有用.
我试过的事情:简单地获取.InnerText属性(显然是错误的),正则表达式(缓慢,痛苦,大量黑客,还有正则表达式比HtmlAgilityPack慢12倍 - 我测量了它),此解决方案和类似(返回更多换行符然后需要)
我将一些数据从另一个测试/错误跟踪工具导入到tfs中,我想转换它的描述,它是简单的HTML,所以是一个普通的字符串,其中保留了HTML的"布局".
例如:
<body>
  <ol>
    <li>Log on with user Acme & Co.</li>
    <li>Navigate to the details tab</li>
    <li>Check the official name</li>
  </ol>
  <br>
  <br>
  Expected Result:<br>
  official name is filled in<br>
  <br>
  Actual Result:<br>
  The &-sign is not shown correctly<br>
  See attachement.
</body>
将插入换行符并将HTML实体翻译成纯文本:
1. Log on with user Acme & Co. 2. Navigate to the details tab 3. Check the official name Expected Result: official name is filled in Actual Result: The &-sign is not shown correctly See attachment
我现在可以使用正则表达式替换一些带有换行符的标签并删除其余部分,但是替换HTML实体和类似的东西 …