2012-03-16 113 views
2

這裏是XML的exapmle我處理:選擇頂層節點使用XPath

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

我想創建一個XPath表達式,它會選擇table1的,不會選擇表2。例如,ID在原始文檔中不存在。這些文件的結構也可能更復雜。我想選擇頂部表格進行處理。

單獨使用XPath可以做到這一點嗎?

回答

4

這會更加多 「頂級」 表:

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

有幾種方法可以做到這一點:

一些例子:

/div/div/table 

//table[.//table] 

(//table)[1] 

我不知道你的XML的樣子,但所有上面的例子只會返回第一個表。

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