2011-05-06 126 views
0

我想從我的C#應用​​程序中獲取選擇的HTML字段。如何從字符串中獲取一小段HTML代碼? C#

能進來是如下的HTML ...

<HTML> 
    <BODY BGCOLOR="#123456"> 
     HELLO 
    </BODY> 
</HTML> 

此HTML可以隨時更改,我想在HTML的部分是BGCOLOR例如值#123456

,也可能是「白色」或「紅」,等等

我怎樣才能做到這一點?

我不認爲子字符串會工作,因爲我無法預測字段將是多久。

謝謝

+1

嘗試搜索「C#HTML解析」網站或「C#HTML刮痧」這將讓你數以百計的答案,所有的說:HTTP:/ /htmlagilitypack.codeplex.com/ – AllenG 2011-05-06 14:59:59

回答

3

查詢,你可以使用Html Agility Pack解析HTML。

所以解析像BGCOLOR可能看起來像:

var htmlDoc = new HtmlDocument(); 
htmlDoc.LoadHtml(someHtml); 

var body = htmlDoc.DocumentNode.SelectSingleNode("//body"); 
string bgColor = body.Attributes["bgcolor"].Value; 
2

您需要使用XPath查詢。

看到http://support.microsoft.com/kb/308333

裝入HTML到XmlDocument和使用 「HTML/BODY @ BGCOLOR」

+0

問題中提供的HTML是有效的,但是如果HTML無效,我想你會在嘗試將它加載到'XmlDocument'時遇到異常。 – 2011-05-06 21:48:06

+0

html無效xml。首先,它不區分大小寫。另一個是結束標籤不是必需的 – 2011-05-07 02:29:30

相關問題