2

范围 我试图解析这个页面。对于不熟悉葡萄牙语的人,此页面包含某个课程(大学课程)的所有科目,按“学期”分组。

所以,每次你看到像“7º Período Ideal”这样的东西,你都可以理解为“第7学期的科目”。

问题我正在使用 XPath 表达式从包含这些表行的表中获取所有表行。

XPath Used : //table[@cellspacing=2]//tr

C# Statement : htmlMap.DocumentNode.SelectNodes("//table[@cellspacing=2]//tr");

此 C# 语句接收到的 HtmlNodeCollection 仅包含表行节点,直到带有此 text 的节点,紧随带有 的节点EAD0648 Gerência de Produtos / Serviços e Mercados之后5º Período Ideal

这个 XPath “有效”,但我得到了所有tr's(如预期的那样),这不是我想要的。

//tr

为什么 XPath 也不检索此节点之后的所有节点?

检索到的节点数量是否有上限?我错过了什么吗?

提前致谢

4

1 回答 1

3

我过去遇到过这种情况,如果表格格式不正确,则会出现此类问题。我非常快速地查看了页面的 HTML,我看到了一个可能的问题,在第 2785 行有一个</tr>然后没有开始<tr>行 2796 有另一个</tr>.

我承认我没有进行深入的验证来检查,但仅仅通过查看它我无法匹配开头的<tr>. 我立即检查了这一点,因为正如我所提到的,我在使用格式错误的表格的页面时遇到了这个确切的问题。

于 2012-07-09T17:53:52.710 回答