我遇到了一个问题,我必须对SQL Server查询产生的某些XML输出进行一些自定义编码。
<?xml version="1.0" encoding="UTF-8"?>
<Services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="AriesImportSchema.xsd">
<ServiceLineItem _clientURNExt="ABCD0401712EFG" _siteName="Jerrys Dental Care" _staffLogin="asdasgasdsf" _contractName="17-18 Part A" serviceDate="2018-02-23" program="Ryan Black" primaryService="Oral Dental Care" secondaryService="Routine Treatment" subservice="Surgery Treatment" unitsOfService="1" rateForUnitOfService="18722.12" measurementUnit="Visit" totalCost="18722.12" />
</Services>
用于生成要作为记录输出到ServiceLineItem标记的数据的查询非常简单:
select [_clientURNExt]
, [_siteName]
, [_staffLogin]
, [_contractName]
, [serviceDate]
, [program]
, [primaryService]
, [secondaryService]
, [subservice]
, 1 AS [unitsOfService]
, [rateForUnitOfService]
, [measurementUnit]
, [totalCost]
from ServiceLineItem
类似这样的东西:
select [_clientURNExt] as [@_clientURNExt]
from ServiceLineItem
FOR XML PATH ('ServiceLineItem'),ROOT('Services');