Unable to customized XML with For XML explicit

Last Post 16 Apr 2008 07:43 AM by Jayeffland. 0 Replies.
AddThis - Bookmarking and Sharing Button
Author Messages
Jayeffland
New Member
New Member

--
16 Apr 2008 07:43 AM
Hi,
Is it possible to format any kind of XML file with the FOR XML EXPLICIT mode in SQL Server 2005? I am asking because I am trying to format my file in a way that I could get 2 or 3 elements on my parent or child level and put some attributes (icon path for example) in these 2nd element or 3rd element. I am unable to format it that way. Let me show you the way that I would like to have my XML file formated :

<?xml version="1.0" encoding="UTF-8" ?>
<rows>
<row id="14" sort="parent">
<cell icon="../../images/TreeGrid/folder.gif">Operations</cell>
<row id="14.13" sort=”child”>
<cell icon="../../images/TreeGrid/Red.gif">% SP</cell>
<row id="14.13.1" sort=”sub-child”>
<cell icon="../../images/TreeGrid/Red.gif">% SP Sub</cell>


I want to have all my parent, children, sub-children to have these attribut but I am having difficulty putting one in the “Cell” tags. And I really think that my problem resides in the specifying of my column and their directives but I do not know how to fix it. See my icon path is commented here. I have to put the [row!2!cell!xmltext], but it is not working.

Here is the way that I am building my Select query.

SELECT
1 as tag,
NULL as parent,
NULL AS 'rows!1!', ----Root rows tag
ID_metric as [row!2!id],
Description_english as [row!2!cell!Element],
----Icon as [row!2!cell!xmltext],
Sort as [row!2!sort],
ID_metric as [row!3!id],
Description_english as [row!3!cell!Element],
--Icon as [row!3!cell!xmltext],
sort as [row!3!sort],
ID_metric as [row!4!id],
Description_english as [row!4!cell!Element],
--Icon as [row!4!cell!xmltext],
sort as [row!4!sort],
ID_metric as [row!5!id],
Description_english as [row!5!cell!Element],
--Icon as [row!5!cell!xmltext],
sort as [row!5!sort],
FROM #buildData
WHERE HLevel = 0
UNION ALL
SELECT
2 as tag,
1 as parent,
NULL AS 'rows!1!',
ID_metric as [row!2!id],
Description_english as [row!2!cell!Element],
--Icon as [row!2!cell!xmltext],
sort as [row!2!sort],
ID_metric as [row!3!id],
Description_english as [row!3!cell!Element],
--Icon as [row!3!cell!xmltext],
sort as [row!3!sort],
ID_metric as [row!4!id],
Description_english as [row!4!cell!Element],
--Icon as [row!4!cell!xmltext],
sort as [row!4!sort],
ID_metric as [row!5!id],
Description_english as [row!5!cell!Element],
--Icon as [row!5!cell!xmltext],
sort as [row!5!sort],
FROM #buildData
WHERE HLevel = 1
UNION ALL
SELECT
3 as tag,
2 as parent,
NULL AS 'rows!1!',
ID_metric as [row!2!id],
Description_english as [row!2!cell!Element],
--Icon as [row!2!cell!xmltext],
sort as [row!2!sort],
ID_metric as [row!3!id],
Description_english as [row!3!cell!Element],
--Icon as [row!3!cell!xmltext],
sort as [row!3!sort],
ID_metric as [row!4!id],
Description_english as [row!4!cell!Element],
--Icon as [row!4!cell!xmltext],
sort as [row!4!sort],
ID_metric as [row!5!id],
Description_english as [row!5!cell!Element],
--Icon as [row!5!cell!xmltext],
sort as [row!5!sort],
FROM #buildData
WHERE HLevel = 2
UNION ALL
SELECT
4 as tag,
3 as parent,
NULL AS 'rows!1!',
ID_metric as [row!2!id],
Description_english as [row!2!cell!Element],
--Icon as [row!2!cell!xmltext],
sort as [row!2!sort],
ID_metric as [row!3!id],
Description_english as [row!3!cell!Element],
--Icon as [row!3!cell!xmltext],
sort as [row!3!sort],
ID_metric as [row!4!id],
Description_english as [row!4!cell!Element],
--Icon as [row!4!cell!xmltext],
sort as [row!4!sort],
ID_metric as [row!5!id],
Description_english as [row!5!cell!


Acceptable Use Policy
---