2013-04-21 90 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