【发布时间】:2019-08-15 15:56:47
【问题描述】:
我有以下XML,我需要根据参数更新指定的:
<DOPremium>
<BasePremium>337500</BasePremium>
<TotalPremium>337500</TotalPremium>
<NettPremium>337500</NettPremium>
<GrossPremium>337500</GrossPremium>
<OptionId>0</OptionId>
</DOPremium>
<DOPremium>
<BasePremium>337500</BasePremium>
<TotalPremium>337500</TotalPremium>
<NettPremium>337500</NettPremium>
<GrossPremium>337500</GrossPremium>
<OptionId>1</OptionId>
</DOPremium>
<DOPremium>
<BasePremium>337500</BasePremium>
<TotalPremium>337500</TotalPremium>
<NettPremium>337500</NettPremium>
<GrossPremium>337500</GrossPremium>
<OptionId>2</OptionId>
</DOPremium>
我正在尝试根据DOPremium 对象的选择更新相应的节点,但我无法做到这一点。有人可以验证我错在哪里吗?
SET @NewXmlValue = N' <BasePremium>[sql:variable("@R15_premium")]</BasePremium>'
SET @DataXml.modify('delete /*/Premiums/DOPremium/BasePremium[sql:variable("@OptionID")]')
SET @DataXml.modify('insert sql:variable("@NewXmlValue") into (/*/Premiums/DOPremium[sql:variable("@OptionID")])[1]')
-- Add TotalPremium
SET @NewXmlValue = N' <TotalPremium>[sql:variable("@R15_premium")]</TotalPremium>'
SET @DataXml.modify('delete /*/Premiums/DOPremium/TotalPremium[sql:variable("@OptionID")]')
SET @DataXml.modify('insert sql:variable("@NewXmlValue") into (/*/Premiums/DOPremium[sql:variable("@OptionID")])[1]')
【问题讨论】:
标签: sql-server xml nodes