Xpath查询排除特定命名空间的祖先

Xpath查询排除特定命名空间的祖先,xpath,Xpath,以下xpath查询获取节点,但祖先是特定类型的节点除外: (/def:Image|…|//def:TextBox)[not(ancestor::clpm:EditableText)] (/def:Image |…|//def:TextBox)[not(祖先::clpm:EditableText)] 但是,我希望能够排除具有clpm命名空间中的祖先的所有节点 没办法,伙计们,有什么想法吗 谢谢请将以下内容用作谓词: 不是(祖先::*[以(name(),'clpm:')开头]) 请注意,然而,名称空

以下xpath查询获取节点,但祖先是特定类型的节点除外:

(/def:Image|…|//def:TextBox)[not(ancestor::clpm:EditableText)] (/def:Image |…|//def:TextBox)[not(祖先::clpm:EditableText)] 但是,我希望能够排除具有
clpm
命名空间中的祖先的所有节点

没办法,伙计们,有什么想法吗


谢谢

请将以下内容用作谓词:

不是(祖先::*[以(name(),'clpm:')开头])

请注意,然而,
名称空间
前缀
是完全不同的事情。在单个XML文档中,许多不同的前缀可以绑定到同一名称空间,而单个前缀可以绑定(重新定义)到多个名称空间

在你的问题中,你说的是
名称空间
,意思是
前缀

如果当前节点没有任何前缀为
的祖先,则上述XPath表达式为true