2017-05-31 77 views
1

部分我有一條線,是html的一部分返回:提取HTML節點

<h1 id="pgName" class="floatLVal tight">IBM Dividend Yield (TTM):</h1><span id="pgNameVal">3.74% for May 31, 2017</span> 

,我讀如下。我看到節點,但我看不到任何字段中的任何(TTM):文本,例如,作爲innerhtml的一部分。我想提取「2017年5月31日的3.74%」部分。

提取此信息的正確方法是什麼?

HtmlDocument document = ... 
var singleNode = document.DocumentNode.SelectSingleNode("//h1[@class='floatLVal tight']"); 

回答

1

span標籤並不位於h1標籤。要麼得到一個同級節點的h1

var h1 = document.DocumentNode.SelectSingleNode("//h1[@class='floatLVal tight']"); 
var span = h1.NextSibling; 
var text = span.InnerHtml; // "3.74% for May 31, 2017" 

或辨識得到span節點:

var span = document.DocumentNode.SelectSingleNode("//span[@id='pgNameVal']"); 
var text = span.InnerHtml; // "3.74% for May 31, 2017" 
+1

謝謝你的作品。 – Ivan