2012-03-16 51 views
0

我想盡可能以通用的方式解析我的HTML頁面。我不想在每次頁面更改時都創建解析器,所以我想用標籤的值巧妙地解析它。如何使用C#中的Agility Pack遍歷頁面中的所有HTML標記?

我知道HTML Agility Pack提供了按標籤類型(td,strong,li等)來讀取和搜索的工具,但是我想迭代所有標籤並查找我知道的內容的標籤,而不是標籤的類型,因爲類型可以更改。

例子: 頁:

<table> 
<tr valign="top"> 
<td valign="top">Sex:<br /> 
</td><td valign="top">Male<br /> 
</td></tr> 
<tr valign="top"> 
<td valign="top">Current City:<br /> 
</td><td valign="top">New York<br /></td> 
  • 我知道值將是「性別:」和下一個標籤將包含 性別。
  • 我知道這個值將是「當前城市」,然後下一個 標籤將成爲城市。

我知道我可以迭代的標籤,但如果標籤更改我的分析器將不再工作。

我可以迭代的值而不是標籤的類型?

回答

0

您可以將<table>中的所有節點輸入HtmlNodeCollection。然後通過節點的該列表迭代:

foreach (HtmlNode node in ListofNodes)

在那,你可以檢查每個節點的InnerHtml檢查您的特定字符串?我猜這個表每次都有相同的字段。要麼,要麼添加id的/ css類並尋找特定的id/css類。

相關問題