使用xpath选择顶部节点



下面是我正在处理的xml示例:

<div>
    <div>
        <table id="table1">
            <div>
                <table id="table2"/>
            </div>
        </table>
    </div>
</div>

我想创建一个XPath表达式,它将选择table1而不选择table2。例如,id就在那里,而在原始文档中不存在。这些文件的结构可能也要复杂得多。我想选择最上面的表格进行处理。

单独使用XPath有可能做到这一点吗?

这甚至适用于多个"顶级"表:

//table[not(ancestor::table)]

有几种方法可以做到这一点:

一些例子:

/div/div/table
//table[.//table]
(//table)[1]

我不知道您的xml是什么样子的,但上面的所有示例都只返回第一个表。

//table[1]  - this one will return both tables.

最新更新