【发布时间】:2020-04-20 04:30:35
【问题描述】:
我对 jsoup API 感到困惑。我的代码解析了一个包含 4 个单元格的表格。但是我发现了一种情况,三个单元格合并到一个单元格中,我的代码在那里失败,因为位置 3 的孩子不存在。
String sMminutesLeft = row.child(3).text();
element.child(x) 返回过滤后的子元素列表,例如只有标签,而不是文本节点。但是element.childNodesCount() 将返回包括文本节点在内的所有元素的计数。我预计是 4,但我收到了 9(包括很多换行符)。
我发现 element.getElementsByTag("TD") 返回 Elements 对象。这个对象就像一个容器,但它没有任何size() 方法。
如何安全地找出当前 TR 元素下的 TD 数量?实现NodeVisitor 对我来说似乎有点矫枉过正。
【问题讨论】:
-
我最初选择了一种解决方法 try-catch IndexOutOfBounds,后来我意识到我可以搜索 colspan 属性。但我还是更喜欢 API 的增强。