8
votes

having the following XML sample document, I need to issue an XPath/XQuery expression to get the element names for every children of a CD element.

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

So I need the query to return TITLE, ARTIST, COUNTRY, COUNTRY, PRICE, YEAR , any one can help please? thanks

2
Your terminology doesn't match your sample. <TITLE>, etc are child elements of <CD>, not attributes.MattH

2 Answers

18
votes
/CD/*/name()

(padded out because StackOverflow doesn't like short answers)

-1
votes

Try /\*/name()
e.g. for Oracle use

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