2012-07-18 61 views
0

在您停止閱讀並建議HTML敏捷(基於標題)之前,我已經在使用此工具。問題是這樣的:我有一個網頁,列出了大量的案例編號,並鏈接到個案號碼頁。我的應用程序已經下載這些信息並將其顯示在datagridview中。然而,在我的應用程序中,我還需要來自個案號碼頁面(鏈接)的信息。下載網頁信息的有效方法

問題是我已經知道這將需要永遠採取使用HTML敏捷性。要獲得案例頁面,大約需要2分鐘。明智的代碼我將HTML敏捷性提供給HTML代碼,將單元格值添加到數組中並解析出我在網格中顯示的數組索引。這是對頁面上組件數量非常大的數組解析。

任何想法從鏈接頁面獲取主頁面和特定單元格?

+0

元素(一個或多個),如果您是使用HTML敏捷包那麼爲什麼不使用XPath只需獲取你想要的元素類型。如果你向我展示一些HTML和你想要的東西,我很高興給你一個例子 – HatSoft 2012-07-18 21:10:20

+0

是的,如果你有任何方便的例子。我還沒有用xpath進行實驗。只有row.SelectNodes(「td」)'中的'HtmlAgilityPack.HtmlNode單元格返回許多許多單元格。 – ikathegreat 2012-07-19 00:15:54

+0

_「從鏈接頁面獲取[..]特定單元格的任何想法?」_ - 您必須下載所有的HTML才能解析它。 – CodeCaster 2012-07-19 07:53:08

回答

1

示出了如何在HmtlAgility使用XPath

的HTMLDocument DOC =新的HTMLDocument()的一個例子; doc.LoadHtml(yourHtml);

實施例1: //下面的例子將得到所有div的與類作爲容器的foreach(HtmlNode節點在 doc.DocumentNode.SelectNodes( 「// DIV [@類= '容器']」)){
Console.Writeline(node.InnerText); }

實施例2: //下面的例子將得到與類作爲容器HtmlNode節點第一個div在 doc.DocumentNode.SelectNodes( 「// DIV [@類= '容器'] [1]」) )

Console.Writeline(node.InnerText);

您可以使用XPath查詢來獲得你想要

的XPath語法和更多信息,請使用鏈接http://www.w3schools.com/xpath/xpath_syntax.asp