示例:指定带有 ELEMENTS 指令的 XSINIL

以下查询将指定 ELEMENTS 指令以根据查询结果生成以元素为中心的 XML。

示例

USE AdventureWorks2012;
GO
SELECT ProductID, Name, Color
FROM Production.Product
FOR XML RAW, ELEMENTS;
GO

下面是部分结果。

<row>
  <ProductID>1</ProductID>
  <Name>Adjustable Race</Name>
</row>
...
<row>
  <ProductID>317</ProductID>
  <Name>LL Crankarm</Name>
  <Color>Black</Color>
</row>

由于 Color 列针对某些产品包含 Null 值,因此生成的 XML 将不会生成对应的 <Color> 元素。 通过添加 ELEMENTS 和 XSINIL 指令,甚至可以针对结果集中的 NULL 颜色值生成 <Color> 元素。

USE AdventureWorks2012;
GO
SELECT ProductID, Name, Color
FROM Production.Product
FOR XML RAW, ELEMENTS XSINIL ;

下面是部分结果:

<row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ProductID>1</ProductID>
  <Name>Adjustable Race</Name>
  <Color xsi:nil="true" />
</row>
...
<row>
  <ProductID>317</ProductID>
  <Name>LL Crankarm</Name>
  <Color>Black</Color>
</row>

请参阅

参考

将 RAW 模式与 FOR XML 一起使用