使用XPath/XQuery获取元素名

使用XPath/XQuery获取元素名,xpath,xquery,Xpath,Xquery,有了下面的XML示例文档,我需要发出一个XPath/XQuery表达式来获取CD元素的每个子元素的元素名 <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90

有了下面的XML示例文档,我需要发出一个XPath/XQuery表达式来获取CD元素的每个子元素的元素名

<CD>
  <TITLE>Empire Burlesque</TITLE>
  <ARTIST>Bob Dylan</ARTIST>
  <COUNTRY>USA</COUNTRY>
  <COMPANY>Columbia</COMPANY>
  <PRICE>10.90</PRICE>
  <YEAR>1985</YEAR>
</CD>

皇帝讽刺剧
鲍勃·迪伦
美国
哥伦比亚
10.90
1985
所以我需要的查询返回标题,艺术家,国家,国家,价格,年份,任何人都可以帮助请? 谢谢

(由于StackOverflow不喜欢简短的答案,所以被填充了)

尝试
/\*/name()

e、 g.供Oracle使用

XMLCast(XMLQuery('/*/name()' PASSING db_some_field_name RETURNING CONTENT) AS VARCHAR2(4000))

你的术语与你的样品不符<代码>等是
的子元素,而不是属性。如果我们想返回CD怎么办?只是名称()/name()返回空白…尝试获取根节点的namename(/*)-最外面的元素不是XPath数据模型中的“根节点”;它有一个父节点,在XPath 1.0中称为根节点,在XPath 2.0.javax.xml.transform.TransformerException:Unknown nodetype:name中称为文档节点。。该表达式需要XPath 2.0+或XQuery 1.0+,但在XPath 1.0中不起作用。
XMLCast(XMLQuery('/*/name()' PASSING db_some_field_name RETURNING CONTENT) AS VARCHAR2(4000))