2014-02-18 94 views
0

我有多個層次結構的XML文件(它是一個目錄結構,文件,從而有<directory name="..."><file name="...">元素)的XPath匹配的元素,它不包含指定後裔

,我想選擇空目錄與XPath,但我不知道,如何選擇節點,它沒有一些後代。 我可以匹配ns:directory[not(ns:file)]但它只是emtpy目錄的第一級,我不想做這樣ns:directory[not(ns:file)]|ns:directory[ns:directory[not(ns:file)]]|...

任何可能有人請提示,如何做到這一點?

+0

如果搜索中的XPath規範「後裔」,你會看到有一個'後裔::'_axis_這將幫助你這裏。 –

回答

1

簡單。

//ns:directory[not(.//ns:file)] 
0

上面的答案將排除只包含目錄的目錄。如果這就是你想要的,那很好。如果你正在尋找一個完全空目錄,試試這個:

//ns:directory[not(ns:file|ns:directory)] 
+0

謝謝。但第一個答案是我想要的。 –

相關問題