范围 我正在尝试解析this page。对于那些不熟悉葡萄牙语的人,本页面包含某个课程(大学课程)的所有科目,按“学期”分组。
所以,每当你看到像这样的“7ºPeríodoIdeal”这样的东西时,你就能理解为“主题 从第7学期开始“。
问题我正在使用XPath表达式从包含这些表行的表中获取所有表行。
XPath Used : //table[@cellspacing=2]//tr
C# Statement : htmlMap.DocumentNode.SelectNodes("//table[@cellspacing=2]//tr");
此C#语句收到的HtmlNodeCollection仅包含表格行节点,直到具有此文本EAD0648 Gerência de Produtos / Serviços e Mercados
的表格节点,紧接着5º Período Ideal
之后的表格。
这个XPath“有效”,但我得到了所有tr's
(正如预期的那样),这不是我想要的。
//tr
为什么XPath不会在此节点之后检索所有节点?
是否有任何节点上限被检索? 我错过了什么吗?
提前致谢
答案 0 :(得分:3)
过去我遇到过这种情况,如果表格形式不完善,那么就会发生这样的问题。我快速浏览了页面的HTML,看到了可能出现的问题,在第2785行有一个</tr>
然后没有开头<tr>
行2796有另一个{{1} }。
我承认我没有进行深度验证来检查,但只是通过查看它我无法匹配开头</tr>
。我立即检查了这一点,因为正如我所提到的,我遇到了与表格格式错误的页面存在的确切问题。