2017-05-31 115 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