通过Jsoup检查嵌套表

时间:2014-07-09 15:14:53

标签: java jsoup

我试图找到一个表是否嵌套。

 // Nested Tables
            Elements table = doc.getElementsByTag("table");
            table.traverse(new NodeVisitor() {
                public void head(Node node, int x) {
                    if (!(node instanceof TextNode)) {
                        System.out.println(node.childNodes());
                        if (node.childNodes().contains("<table>")) {
                            tables++;
                        }

                    }
                }

                public void tail(Node node, int x) {
                }
            });
            // Nested Tables

任何想法如何使其发挥作用?

2 个答案:

答案 0 :(得分:1)

尝试:

int nTables = 0;
Elements tables = doc.getElementsByTag("table");
for(Element table : tables) {
    for(Element child : table.children()) {
        Elements nestedTables = child.getElementsByTag("table");
        if(!nestedTables.isEmpty()) {
            nTables++;
        }
    }
}

答案 1 :(得分:1)

或简单尝试doc.select("table table").size()。选择器检查子标记下的第二个表标记。所以它给出了至少有一个子表的表标签数量。