Xml 获取子节点名称

Xml 获取子节点名称,xml,xquery,Xml,Xquery,以下是xml: <?xml version = "1.0"?> <class> <student> <firstname>Dinkar</firstname> <lastname>Kad</lastname> <nickname>Dinkar</nickname> <marks>85</marks> <

以下是xml:

<?xml version = "1.0"?>
<class>
   <student>
      <firstname>Dinkar</firstname>
      <lastname>Kad</lastname>
      <nickname>Dinkar</nickname>
      <marks>85</marks>
   </student>
</class>
从逻辑上讲,这应该是可行的:

/class/student/*::name()
但它不起作用

您知道获取子节点名称列表的正确XQuery是什么吗?

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

for $nam in doc("source.xml")/class/student/*
return name($nam)
也可以使用更简单的表达式:

/class/student/*/name()

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

我想要一条XQuery语句。这不是XQuery语句。我用Saxon测试了它。这两个表达式都起作用并返回所需的输出。OK。我想用XMLVer1.0运行它。我们没有第三方库。当我运行/class/student/*/name()时,记事本++或VisualStudio中出现错误。XQuery 1.0应支持XPath-2.0,因为。如果没有,则不是XQuery。
/class/student/*/name()