2011-12-07 68 views
2

在从HTML文本到Excel表导出,我试图保持像HTML换行符基本打印格式(<br><p>),列表(<ol><ul>)等将HTML转换为纯文本,同时保留P,BR,UL,OL?

例输入:

<p>This is a test.</p> 
<p>This is another<br>test.</p> 

<ul> 
    <li>10</li> 
    <li>20</li> 
    <li>30</li> 
</ul> 

<p>End.</p> 

输出示例:

This is a test. 

This is another 
test. 

- 10 
- 20 
- 30 

End. 

自由ù效用HTMLAsText距离著名的NirSoft家伙似乎做的正是我想要的,不幸的是它带有没有源代码:检查大约即使在

enter image description here

。这里有20个类似的问题,关于Stack Overflow和浏览Google几小时,我能找到的最接近的是this Code Project article。因此

我的问题是:

是任何人都知道一个类/库,有HTML转换为纯文本,同时保留基本的打印格式的?

更新2013年5月10日

我结束了一个功能,see the full code over at Pastebin

回答

3

难道你们就不能更换自己做:

<br /> with Environment.NewLine 
</p> with Environment.NewLine + Environment.NewLine 
<li> with " - ". 

然后,只需去掉与正则表达式的HTML的休息吗?它似乎能达到你想要的输出结果。当然,有人可能会有一个更优雅的解决方案。 =)

+0

谢谢,@Jon,我正在做类似的事情! –

2

您是否尝试过使用这一个:http://patapage.com/applications/pataPage/site/test/HtmlSanitizer.cs,并将“允许的标记”设置为您想要的?

+0

谢谢,@保罗。实际上,我不希望允许任何HTML标记,但我宁愿要将所有HTML标记都删除的纯HTML,并将其替换为纯文本等效项。我正在更新我的问题。 –

+1

加1,我结束了这个页面寻找这个,消毒剂是我所需要的。 – MvcCmsJon