1

我有一个 XML 变量,其中只有一个元素。我需要检查此元素是否具有特定属性,如果有,我需要检查该属性是否具有特定值,如果有,我需要从 XML 元素中删除该属性。

所以可以说我有

DECLARE @Xml XML
SET @XML = 
'<person
    FirstName="Harvey"
    LastName="Saayman"
    MobileNumber="Empty"
/>'

MobileNumber 属性可能存在也可能不存在,如果存在,并且值为“空”,我需要将我的 XML 变量更改为:

'<person
    FirstName="Harvey"
    LastName="Saayman"
/>'

我是一个完整的 SQL XML 菜鸟,不知道该怎么做,有什么想法吗?

4

2 回答 2

3
SET @XML.modify('delete /person/@MobileNumber[. = "Empty"]')
于 2012-07-06T12:04:27.177 回答
3

使用 modify() DML 子句修改 XML 节点。在这种情况下,例如:

SET @XML.modify('delete (/person/@MobileNumber)[1]')

此 XML 研讨会有助于更深入地了解 DML 子句删除、插入、替换等。

于 2012-07-06T08:09:02.307 回答