2017-03-01 31 views
-1

我有一個帶有html文本的字符串,如下所示。使用C語法解析HTML字符串#

string htmlText = "<h1>This is heading 1</h1><p>This is some text.</p> 
<hr><h2>This is heading 2</h2><p>This is some other text.</p><hr>"; 

我們可以轉換這個HTML字符串正如我們在瀏覽器中看到它,它已經被解析後,這樣以後我們就可以使用在以往任何時候需要這種分析的字符串。

後來我想將此數據複製到SharePoint列表多行富文本列。在那裏我不需要這些標籤來,但

+0

你到底要在解析的文本看什麼?你是什​​麼意思「我們在瀏覽器中看到它」? –

+0

看看HtmlAgilityPack – john

+0

可能的重複[從Html Agility Pack中抓取HTML的所有文本](http://stackoverflow.com/questions/4182594/grab-all-text-from-html-with-html-agility-pack) –

回答

-1

最好的方法是使用正則表達式提取內部下一個html標籤 一些。像這樣的威力東西不會工作: (?(+)< /h.?>)+((.+)</P>)

0

This answer提供了使用HtmlAgilityPack,這是更爲一個例子。?健壯比滾動你自己的解析或正則表達式。

XPATH是你的朋友:)

HtmlDocument doc = new HtmlDocument(); 
doc.LoadHtml(@"<html><body><p>foo <a href='http://www.example.com'>bar</a> baz</p></body></html>"); 

foreach(HtmlNode node in doc.DocumentNode.SelectNodes("//text()")) 
{ 
    Console.WriteLine("text=" + node.InnerText); 
}