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

我正在使用 xml path('Person') 从 sql server 2005 生成 XML

在这个 xml 结构中,而不是

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

4

1 回答 1

0

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

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

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

SQL小提琴

于 2013-03-08T08:31:53.980 回答