这是我正在处理的xml的一个例子:
<div>
<div>
<table id="table1">
<div>
<table id="table2"/>
</div>
</table>
</div>
</div>
我想创建一个XPath表达式,它将选择table1并且不会选择table2。例如,ID存在于原始文档中。这些文件的结构也可能更复杂。我想选择顶级表进行处理。
单独使用XPath是否可以做到这一点?
答案 0 :(得分:4)
这甚至适用于多个“顶级”表:
//table[not(ancestor::table)]
答案 1 :(得分:1)
有几种方法可以做到这一点:
一些例子:
/div/div/table
//table[.//table]
(//table)[1]
我不知道你的xml是怎样的,但上面的所有例子都只会返回第一个表。
//table[1] - this one will return both tables.