如何从XML获取所有属性名称,而不是特定节点的值?

bos*_*ari 1 xml xpath xquery marklogic

假设我有一个XML-

<SearchPage ID="123" version="1.3" xmlns="http://some/path">
   .....some child elements
</SearchPage>  
Run Code Online (Sandbox Code Playgroud)

如何从中获取所有属性名称?

Jen*_*rat 5

使用该name()函数,或者local-name()如果要省略属性名称空间.

let $node := <SearchPage ID="123" version="1.3" xmlns="http://some/path">
               .....some child elements
             </SearchPage>
for $attribute in $node/attribute()
return $attribute/name()
Run Code Online (Sandbox Code Playgroud)

结果:

ID
version
Run Code Online (Sandbox Code Playgroud)

  • `$ some-attribute/name()`返回属性的名称,而不是值. (2认同)