2013-05-13 5 views
1

Я работаю над брокером сообщений. Но запрос, который я делаю, очень прост, и на него может ответить любой парень DB.Как сделать ребенка как родителя в дереве xml

здесь код запроса для чтения XML и получение вывода XML

SET OutputRoot.XMLNSC.root.row[rowCnt].product_Info = THE (SELECT THE(SELECT C.*:Codes.*:Code AS TyrePatternCd FROM T.*:Classification[] AS C 
        WHERE C.(XMLNSC.Attribute)Type = 'BRAND') AS product 
       FROM itemMaster.*:ItemMasterHeader[] AS T); 

Это дает выход XML как

<root name="Product"> 
<row> 
    <product_Info> 
    <product> 
    <TyrePatternCd>002</TyrePatternCd> 
    </product>  
</row> 
</root> 

Как я могу это сделать, как

<root name="Product"> 
    <row> 
     <product_Info> 
     <TyrePatternCd>002</TyrePatternCd> 
    </row> 
    </root> 

Если я удалите AS product в запросе, он делает column тег в дереве. Как я могу сделать ребенка родителем?

ответ

1

Используйте SELECT ITEM, чтобы опустить элемент «product» и напрямую назначить результат.

SET OutputRoot.XMLNSC.root.row[rowCnt].product_Info = THE (SELECT ITEM THE(SELECT C.*:Codes.*:Code AS TyrePatternCd FROM T.*:Classification[] AS C 
        WHERE C.(XMLNSC.Attribute)Type = 'BRAND') 
       FROM itemMaster.*:ItemMasterHeader[] AS T);