选择带有xpath的顶级节点

时间:2012-03-16 19:47:36

标签: xml xpath

这是我正在处理的xml的一个例子:

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

我想创建一个XPath表达式,它将选择table1并且不会选择table2。例如,ID存在于原始文档中。这些文件的结构也可能更复杂。我想选择顶级表进行处理。

单独使用XPath是否可以做到这一点?

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

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

一些例子:

/div/div/table

//table[.//table]

(//table)[1]

我不知道你的xml是怎样的,但上面的所有例子都只会返回第一个表。

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