XML中的空标签

时间:2013-03-08 07:35:06

标签: sql xml sql-server-2005

<Person>
  <id>12</id>
  <Fname>Phil</Fname>
  <Lname></Lname>
  //or
  <id>13</id>
  <Fname>Phil</Fname>
  <Lname>0</Lname>
</Person>

我使用xml路径('Person')

从sql server 2005生成XML

这里是xml结构而不是

<Lname></Lname><Lname>0</Lname>我需要<Lname/>

1 个答案:

答案 0 :(得分:0)

使用XML数据类型时,空标记转换为EmptyElemTag。但是,直接使用for xml不会这样做。

要获得您想要的结果,您可以将查询用作另一个for xml path查询的字段列表中的子查询。

select (
       select id,
              Fname,
              Lname
       from Person
       for xml path('Person'), type
       )
for xml path('')

SQL Fiddle