Xml 我在理解这个XPATH表达式/语法时遇到一些困难

Xml 我在理解这个XPATH表达式/语法时遇到一些困难,xml,xpath,Xml,Xpath,下面是用于选择节点的xpath document.SelectNodes("my/node/url/@*[name(.)!='name_excluded']"); 我能理解@*和!='' 但是我不能理解[名称(.)某些谓词] 我在@*中找不到(.)的引用选择所有url节点的所有属性name(.)然后是每个属性的名称,因此这会选择url节点的所有属性,除了name\u排除的属性。谓词中的指当前节点(它是一个) 是一个函数,它接受一个节点集(这里,我们将其传递给上下文节点)并返回其名称 因此,您的

下面是用于选择节点的xpath

document.SelectNodes("my/node/url/@*[name(.)!='name_excluded']");
我能理解@*!='' 但是我不能理解[名称(.)某些谓词]


我在

@*
中找不到(.)的引用选择所有
url
节点的所有属性
name(.)
然后是每个属性的名称,因此这会选择
url
节点的所有属性,除了
name\u排除的属性。

谓词中的
指当前节点(它是一个)

是一个函数,它接受一个节点集(这里,我们将其传递给上下文节点)并返回其名称

因此,您的理解中缺少的部分是:我们将返回任何属性(
@*
),以便属性的名称不被排除