I have a SQL Server 2005 table like this:
create table Taxonomy( CategoryId integer primary key, ParentCategoryId integer references Taxonomy(CategoryId), CategoryDescription varchar(50) )
with data looking like CategoryIdParentCategoryIdCategoryDescription 123nullfoo345123bar
I'd like to query it into an xml document like this:
<taxonomy> <category categoryid='123' categorydescription='foo'> <category id='455' categorydescription='bar'/> </category> </taxonomy>
Is it possible to do this with FOR XML AUTO, ELEMENTS? Or do I need to use FOR XML EXPLICIT?
It is possible but the main limitation is that the levels of the hierarchy must be hard coded. The SQL Server Books Online has a description of how to represent hierarchies in XML at this link. Below is a sample query that produces the XML you requested: