使用Html Agility Pack捕获特定节点的内部文本

时间:2016-11-11 16:58:37

标签: xpath html-agility-pack

我正在尝试抓取文档“记录号:1”以及以下html代码段中的两个日期:

var recordNum =report.Descendants()
.Where(a=>a.InnerText.Contains("Record No:"))
.Where(a => a.Name == "#text")
.First().InnerText;

使用HTMLAgilityPack和以下代码我已经能够获得记录号,但我不知道如何获取日期。

Corners.Areas(RandomCell).Value = "X"

不知何故,我需要能够在“原始日期”节点之后获取文本。

1 个答案:

答案 0 :(得分:0)

  

不知何故,我需要能够在“原始日期”节点之后获取文本。

您可以使用以下XPath选择位于i元素后面的文本节点,其中内部文本等于“原始日期”:

//i[.='Original Date']/following-sibling::text()

使用XPath,例如:

var doc = new HtmlDocument();
....
var xpath = "//i[.='Original Date']/following-sibling::text()";
var result = doc.DocumentNode.SelectSingleNode(xpath);
Console.WriteLine(result.InnerText);

<强> Demo

输出

: 12/16/2011