2013-04-21 71 views
0

是否有一个易于使用的库或其他方法可以将HTML作为字符串传递(标记为<表>或< div>等),然后应用程序将正确显示它屏幕上?在C#中呈现HTML标记

到目前为止,我只找到HTML敏捷包,但它似乎不太友善。

一个例子:

submitted by <a href="http://www.reddit.com/user/kiransran"> kiransran </a> 
to <a href="http://www.reddit.com/r/news/"> news</a> 
<br/> 
<a href="http://imgur.com/GtDN6rz">[link]</a> 
<a href="http://www.reddit.com/r/news/comments/1cretq/infrared_image_of_boston_marathon_suspect_hiding/">[976 comments]</a> 

这是从一个RSS源。我需要显示的结果WPF

+0

这个问题不是特别清楚。你想用HTML字符串做什么? – 2013-04-21 00:40:08

+0

@ Ek0nomik解析它,以便它不显示为文本,但在网站上显示。 – OmniOwl 2013-04-21 00:40:40

+1

@Vipar:渲染还是解析? – Blender 2013-04-21 00:41:54

回答

1

如果你只是想渲染它,使用Web浏览器控件:

<WebBrowser HorizontalAlignment="Left" Height="203" VerticalAlignment="Top" Width="335" Margin="46,52,0,0" Name="wb1"/> 

然后调用NavigateToString方法:

string s = @"<html><body>Hello <b>World</b></body></html>"; 
wb1.NavigateToString(s); 
0

使用字符串操作来提取所关注HTML开始&结束,包裹它,用浏览器控件显示它:

http://www.c-sharpcorner.com/uploadfile/rahul4_saxena/webbrowser-control-in-wpf/

的字符串操作API是什么无论如何你要学习,如果你只是想显示HTML,那么你只需要提供合适的HTML浏览器控制。

您可能首先需要WebRequest来获取RSS,但您还没有问过这个问题。

+0

我得到了RSS请求的东西。我的应用程序获取提要。但似乎我正在寻找渲染,而不是解析。 – OmniOwl 2013-04-21 00:48:00

+0

这就是浏览器控件的功能。 RSS是XML,所以你只需要解析出内容和标题。由于您并不关心XML,因此您可以使用普通的子字符串搜索来查找您关心的部分。 (或者你可以将它加载到XML文档中,这取决于你想要使用的API。如果你不想使用AgilityPack,我想你也不想使用XML库) – MatthewMartin 2013-04-21 00:52:33

+0

好的。感谢您的提醒。 – OmniOwl 2013-04-21 00:53:36