0

I have an SQL Query to make an XML Document. Everything works except one thing:

A short insert of my SQL Query at this time is:

select OITM.ItemCode, OITM.ItemName, OITM.Price

Output in XML:

<DocumentElement>
 <article>
 <ItemCode>12345</ItemCode>
 <ItemName>test</ItemName>
 <Price>20.00</Price>
 </article>
</DocumentElement>

I want this Structure:

<DocumentElement>
 <article>
 <ItemCode>12345</ItemCode>
 <ItemName>test</ItemName>
 <Prices>
 <Price>20.00</Price>
 </Prices>
 </article>
 </DocumentElement>

How can i insert the <Prices> tag?

asked Aug 6, 2016 at 14:31

1 Answer 1

3

If you are using FOR XML PATH you can specify nested elements using forward slash (/), like this:

DECLARE @yourTable TABLE (
 ItemCode INT, 
 ItemName VARCHAR(10), 
 Price MONEY
)
INSERT INTO @yourTable VALUES
 ( 12345, 'test', 20 )
SELECT 
 ItemCode, 
 ItemName, 
 Price AS "Prices/Price"
FROM @yourTable
FOR XML PATH('article'), ROOT('DocumentElement'), TYPE
answered Aug 6, 2016 at 18:11

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.