2011-05-26 105 views
3

我們正在將電子商務網站移動到一個新的平臺上,因爲他們的所有頁面都是靜態HTML,並且他們沒有在數據庫中存儲所有產品信息,我們必須爲其產品說明。c#html敏捷包

這裏是頁面之一:http://www.cabinplace.com/accrugsbathblackbear.htm

什麼是最好的是獲得描述成一個字符串?我應該使用html敏捷包嗎?如果是的話,這將如何完成?因爲我是一般的html敏捷包和xhtml的新手。

感謝

回答

1

的HTML敏捷性包就是用這種工作的一個好的圖書館。

你沒有表明是否所有內容的結構這樣也不如果你已經得到了你從HTML文件發佈在那種片段的,因此很難進一步建議。一般來說,如果所有頁面的結構相似,我將使用XPath表達式來提取段落,並從每個頁面中選取innerHtmlinnerText

類似以下內容:

var description = htmlDoc.SelectNodes("p[@class='content_txt']")[0].innerText; 
+0

確定這裏是我在做什麼,截至目前: 串strHTML中= wbOne.DocumentText; HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(strHtml); var description = doc.DocumentNode.SelectNodes(「p [@ class ='content_txt']」)[0] .InnerText; 但是,我收到最後一行的錯誤:對象引用未設置爲對象的實例。 任何想法,爲什麼這可能是? – Clay 2011-05-26 19:39:19

+0

大部分情況下,所有頁面的結構都是相同的。 – Clay 2011-05-26 19:42:17

+0

@Clay - XPath可能不會返回任何結果。嘗試'「// p [@ class ='content_txt']」',儘管這也可能返回其他行。爲了使敏捷包有效,我建議刷新XPath。 – Oded 2011-05-26 19:46:54