我有一个具有多级结构的XML文件(它是一个包含文件的目录结构,因此有<directory name="...">
和<file name="...">
个元素)
我想用XPath选择空目录,但我不知道,如何选择没有一些后代的节点。
我可以匹配ns:directory[not(ns:file)]
,但它只是emtpy目录的第一级,我不想做ns:directory[not(ns:file)]|ns:directory[ns:directory[not(ns:file)]]|...
有人可以暗示,怎么做?
答案 0 :(得分:1)
易。
//ns:directory[not(.//ns:file)]
答案 1 :(得分:0)
上面的答案将排除仅包含目录的目录。如果这就是你想要的,那很好。如果您要查找完全为空的目录,请尝试以下操作:
//ns:directory[not(ns:file|ns:directory)]