簡體   English   中英

根據值刪除XML屬性

[英]Remove XML attribute based on value

我有一個XML變量,其中只有一個元素。 我需要檢查此元素是否具有特定屬性,如果存在,則需要檢查該屬性是否具有特定值,如果存在,則需要從XML元素中刪除該屬性。

所以說我有

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

MobileNumber屬性可能存在或可能不存在,如果存在,並且值為“ Empty”,則需要將XML變量更改為此:

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

我是一個完整的SQL XML新手,不知道如何解決這個問題,有什么想法嗎?

使用Modify()DML子句來修改XML節點。 在這種情況下,類似:

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

這個XML研討會對深入了解DML子句的刪除,插入,替換等內容可能會有所幫助。

SET @XML.modify('delete /person/@MobileNumber[. = "Empty"]')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM