html - XPATH 如何使用 HTML 敏捷包从 HTML 中的 tbody 一次提取一个 td

标签 html html-agility-pack xpath

我正在尝试从下面的 URL (Google finance) 解析表格

http://www.google.com/finance/historical?q=BOM:533278

我试图只提取 close 列中的 close 值。但是当我尝试使用 XPATH

hd.DocumentNode.SelectSingleNode("//td[@class='rgt']")

我在一个 Node.innerText 本身中获取所有具有属性作为类和属性值作为 rgt 的节点。

我需要一个一个地获取值,而不是同时获取所有值。我一定是在做什么傻事。谢谢。

使用 Firebug 发现的实际 XPath 如下

/html/body/div/div/div[3]/div[2]/div/div[2]
     /div[2]/div/form/div[2]/table/tbody/tr[2]/td[5]

但是在表单标签之后......HTMLagility pack 返回空节点的一些方式。从来没有想过这会花这么长时间来实现。

最佳答案

如果您使用 Firebug 或任何 Firefox 扩展(如 XPather)来获取 XPath对于需要解析的元素,您可能需要从 XPath 中删除 tbody 标记。

在 SO 上查看以下答案:Why does firebug add <tbody> to <table>?

如果您正在使用 HtmlAgilityPackFirebug 或与 Firefox 相关的任何其他工具返回的 XPath > 可能会有所不同,因为您正在解析的 HTML 源代码可能与 Firefox 中的 HTML 源代码不同

有时在 Internet Explorer 8 中打开同一页面并使用开发人员工具 (F12) 执行与使用 Firebug 相同的操作可能会很有用,否则, 使用可以从 HtmlAgilityPack page 下载的另一个工具,如 HAP Explorer

关于html - XPATH 如何使用 HTML 敏捷包从 HTML 中的 tbody 一次提取一个 td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203573/

相关文章:

c# - Spark View Engine Html.TextArea 错误?

html - 如何让 &lt;input type ="file"/> 只接受这些类型?

c# - C#-mscorlib.dll中未处理的异常

c# - 如何从维基百科获取表格

xml - XPATH用于根据另一个元素的值检查xml元素的值

Javascript 通过 anchor 调用函数

C# 如何获取 2 个独立的类值节点并将它们写入数据表/dgv

python - BeautifulSoup 提取节点的 XPATH 或 CSS 路径

java - 在 java 中表示 XPath 列表的最佳方式

html - 从外部 url 添加字体到我的网站不起作用