我构建 XML 的查询包括子查询。子记录应该进入容器元素。即使没有子记录,XML 也必须具有容器元素。
考虑以下。<Patients>
即使没有子记录或验证失败,容器元素也必须存在。
<Hospital>
<Patients>
<Patient></Patient>
<Patient></Patient>
<Patient></Patient>
</Patients>
</Hospital>
我尝试了几种不同的方法FOR XML PATH
:
select
(
select
PatientFields
from
PatientTable
for xml path('Patient'), root('Patients'), elements xsinil, type
)
for xml path('Hospital'), elements xsinil, type
上述方法将<Patients>
元素完全排除在空集之外。
下面的一个包含标签但添加了xsi:nil="true"
属性,这也会导致验证失败。
select
(
select
PatientFields
from
PatientTable
for xml path('Patient'), elements xsinil, type
) Patients
for xml path('Hospital'), elements xsinil, type
有没有办法强制容器元素存在?