获取子节点名称

时间:2019-03-26 22:58:32

标签: xml xquery

这是xml:

<?xml version = "1.0"?>
<class>
   <student>
      <firstname>Dinkar</firstname>
      <lastname>Kad</lastname>
      <nickname>Dinkar</nickname>
      <marks>85</marks>
   </student>
</class>

我想编写一个返回的XQuery:

firstname
lastname
nickname
marks

从逻辑上讲这应该可行:

/class/student/*::name()

但这不起作用!
您知道什么是获取子节点名称列表的正确XQuery吗?

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码返回子代的名称:

for $nam in doc("source.xml")/class/student/*
return name($nam)

或者您可以使用以下更简单的表达式:

/class/student/*/name()

这仅适用于XQuery 1.0支持的XPath-2.0。