我有一个XML变量,其中只有一个元素。我需要检查这个元素是否具有特定属性,如果有,我需要检查该属性是否具有特定值,如果有,我需要从XML元素中删除该属性。
所以我说我有
DECLARE @Xml XML
SET @XML =
'<person
FirstName="Harvey"
LastName="Saayman"
MobileNumber="Empty"
/>'
MobileNumber属性可能存在也可能不存在,如果存在,且值为“Empty”,我需要将我的XML变量更改为:
'<person
FirstName="Harvey"
LastName="Saayman"
/>'
我是一个完整的SQL XML菜鸟,并且不知道如何解决这个问题,任何想法?
答案 0 :(得分:3)
使用modify()DML子句修改XML节点。在这种情况下,例如:
SET @XML.modify('delete (/person/@MobileNumber)[1]')
This XML workshop可以帮助您更深入地了解DML子句的删除,插入,替换等。
答案 1 :(得分:3)
SET @XML.modify('delete /person/@MobileNumber[. = "Empty"]')