[英]How to get child xml from an xml in sql server
我的XML格式是這樣的:
<Main>
<IsD>false</IsD>
<IsN>true</IsN>
<ID>826e03b3-191c-40c9-8a3d-f6607842fa5f</ID>
<ClientId>c6a32c38-0398-4806-b82f-e924f96217fa</ClientId>
<General>
<IsD>false</IsD>
<IsN>true</IsN>
<State>New</State>
<TypeID>1</TypeID>
<ProductID>-1</ProductID>
<PeriodId>1</PeriodId>
<StateID>5</StateID>
<Rating>8</Rating>
</General>
<Feature>
<TypeID>2</TypeID>
<DurationID>-1</DurationID>
<ClassID>-1</ClassID>
<Fee>2500</Fee>
<BonusID>-1</BonusID>
<BenefitID>15</BenefitID>
</Feature>
</Main>
我已將此xml傳遞給存儲過程,並且在此存儲過程中,我將所有Main
節點數據保存在主表中。
但是現在對於通用表和功能表,我正在使用另一個sp,並且我希望將標簽上的所有子節點作為xml傳遞給此generalinertionsp並與功能相同。
但是我如何將這些節點傳遞給另一個sp。
我如何讀取內部子節點值作為xml並將部分xml傳遞給另一個sp?
如果@x
是您的XML變量
select @x.query('/Main/General')
select @x.query('/Main/Feature')
會給你的孩子節點
您可以使用SQL Server中的.query()
函數來選擇原始XML的片段:
DECLARE @input XML = '... (your XML here).....'
SELECT
GeneralNode = @input.query('Main/General'),
FeatureNode = @input.query('Main/Feature')
現在,您可以將此XML片段傳遞到其他存儲過程中進行處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.