2012-05-01 81 views
0

我需要在包含在網頁中的iframe中使用包含「row」的類來刮取所有錶行。htmlagilitypack刮掉所有行

我現在有這樣的代碼:

"//tr[contains(@class, 'row']" 

,但我得到一個錯誤

'// TR [包含(@class, '行']' 有一個無效的令牌

我的問題是:

  1. ^h我會得到iframe的HTML內容嗎?
  2. 什麼是正確的XPath表達式?

有人可以幫我嗎?

編輯 我改變了XPath來

"//tr[contains(@class, 'row')]" 

,我沒有得到的錯誤,但我什麼也沒有

感謝

+1

你只顯示'(',不是'''''也許有問題? –

+3

由於iFrame是一個單獨的文檔,因此需要單獨加載。您可以解析iFrame源代碼的第一頁,然後加載頁面以獲取要解析的HTML。 – Zachary

+0

@HansKesting感謝您的評論,但我現在改變它,並沒有得到任何東西 – Smith

回答

1

正如評論所說,你需要獲取iFrame的來源並直接加載頁面來瀏覽HTML。

  1. 使用HTMLAglityPack找到了iframe位置

    閱讀本關於如何獲得的iFrame的src刮:get i frame source using HtmlAgilityPack

  2. 做一個WebRequest的得到的iFrame

    的src
  3. 使用HTMLAglityPack解析響應。