Hi Arthur, Thanks for your help. But am using postgres 9.6 version.
On Thu, 24 Jan 2019, 15:24 Arthur Zakirov <a.zaki...@postgrespro.ru wrote: > On 24.01.2019 11:54, ramsiddu007 wrote: > > Dear all, > > I hope you are all doing well. Today i got one > > requirement, for that i need attribute names as below example. > > > > Xml: > > <emp> > > <emp_details emp_id="101" emp_name="tom" dept="development"/> > > </emp> > > > > In the above sample input xml, i want attributes list of emp_deails like. > > Attributes > > ___________ > > emp_id > > emp_name > > dept > > > > > > Thanking you, > > > In PostgreSQL 11 (and 10 I think) you can do something like this: > > =# CREATE TABLE xmldata AS SELECT xml $$ > <emp> > <emp_details emp_id="101" emp_name="tom" dept="development"/> > </emp> > $$ > as data; > =# SELECT xmltable.* > FROM xmldata, > xmltable('/emp/emp_details/@*' passing data > columns atrr text path 'name()'); > atrr > ---------- > emp_id > emp_name > dept > > -- > Arthur Zakirov > Postgres Professional: http://www.postgrespro.com > Russian Postgres Company >