3
我的查詢構建XML包括子查詢。子記錄應該放入容器元素中。即使沒有子記錄,XML也必須具有容器元素。用於xml路徑的TSQL - 即使子查詢爲空,如何包含子查詢容器元素?
請考慮以下情況。即使沒有子記錄或驗證失敗,也必須存在<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
有什麼辦法來強制容器元素存在嗎?