我用 for xml只能生成
<a>
   <b>
      <c>a</c> 
   </b>
</a>
-----------------------
现在想实现多层有什么好办法,用MSSQL语句FOR XML
<a>
   <b>
      <c>
         <d>1</d>
         <d1>2</d1>
      </c>
       <e>
         <d>1</d>
         <d1>2</d1>
      </e>   </b>
   <b>
      <c>
         <d>1</d>
         <d1>2</d1>
      </c>
       <e>
         <d>1</d>
         <d1>2</d1>
      </e>
   </b></a>

解决方案 »

  1.   

    SQLServer2005 XML在T-SQL查询中的典型应用
    http://topic.csdn.net/u/20081107/17/68aaf5a9-c596-4ab5-ae18-f3370b2ab35b.html
      

  2.   

    我目前是用
    select 1 as tag,null parent,null as [a!1!],null as [b!2!b!element]
    union all
    select 2,1,'',a.a as [b!2!b!element] from a for xml explicit
    实现,这种效果快捷方便
      

  3.   

    琢磨出来了,呵呵!
    我通过仔细分析发现有一定规律性,然后创建了个临时表。简单介绍下,分享经验。
    插入 tag,parent
         1   null
         2    1
         3    2
         4    2
         5    4
    -------------------
         2    1
         3    2
         4    2
         5    4
    -------------------     
         2    1
         3    2
         4    2
         5    4
    -------------------
         2    1
         3    2
         4    2
         5    4
    --------------------------------
    规律是,以2,1为一段截取。