gotqn
gotqn

Reputation: 43626

Delete multiple XML attributes

Is there a way to unite the following statements:

UPDATE @Test
SET [XML].modify('delete (Settings/@attributefordeletion1)[1]')

UPDATE @Test
SET [XML].modify('delete (Settings/@attributefordeletion2)[1]')

UPDATE @Test
SET [XML].modify('delete (Settings/@attributefordeletion3)[1]')

Upvotes: 1

Views: 1024

Answers (2)

GriGrim
GriGrim

Reputation: 2921

Found out one more way to delete set of attributes:

update @Test
set [XML].modify('delete Settings/@*[local-name()=(
                                    "attributefordeletion1",
                                    "attributefordeletion2", 
                                    "attributefordeletion3"
                                    ]')

Upvotes: 1

Mikael Eriksson
Mikael Eriksson

Reputation: 138960

update @Test
set [XML].modify('delete (
                         Settings/@attributefordeletion1, 
                         Settings/@attributefordeletion2, 
                         Settings/@attributefordeletion3
                         )')

Or if you want to delete all attributes

update @Test
set [XML].modify('delete Settings/@*')

Upvotes: 3

Related Questions