Jsoup - 如何找出元素大小

Jsoup - how to find out elements size

我对 jsoup 感到困惑 API。我的代码解析了一个包含 4 个单元格的 table。但是我发现三个单元格合并为一个单元格并且我的代码在那里失败,因为位置 3 的 child 不存在。

String sMminutesLeft = row.child(3).text();

element.child(x) return 是 child 元素的筛选列表,例如只有标签,而不是文本节点。但是 element.childNodesCount() 将 return 包括文本节点在内的所有元素的计数。我期望 4,但我收到 9(包括很多换行符)。

我发现 element.getElementsByTag("TD") returning Elements object。这个 object 就像一个容器,但它没有任何 size() 方法。

如何安全地找出当前TR元素下的TD数量?实施 NodeVisitor 对我来说似乎有点矫枉过正。

我找到了解决方法,但我觉得 API 不完整,因此我创建了一个拉取请求,其中添加了新方法来获取与 child(int) 互补的已过滤子项的数量。这是:https://github.com/jhy/jsoup/pull/1291