Как обновить значение атрибута XML в SQL server.
CREATE TABLE [dbo].[tbl_UIConfig]( [Id] [int] IDENTITY(1,1) NOT NULL, [PolicyName] [nvarchar](50) NULL, [XmlData] [xml] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] INSERT INTO [dbo].[tbl_UIConfig] VALUES('Policy1', '<main> <mainUI> <AppList> <AppConfig> <AppSettings name="notepad" path="c:\Windows\System32\notepad.exe" /> <AppDesignSettings appLogoName="notepad_534hjj45j35.png" /> </AppConfig> <AppConfig> <AppSettings name="wordpad" path="C:\Program Files\Windows NT\Accessories\wordpad.exe" /> <AppDesignSettings appLogoName="wordpad_nmb8mn98b908.png" /> </AppConfig> <AppConfig> <AppSettings name="mspaint" path="c:\Windows\System32\mspaint.exe" /> <AppDesignSettings appLogoName="mspaint_sdf9sd8f89sf.png" /> </AppConfig> </AppList> </mainUI> </main>')
У меня есть таблица, которая содержит столбец XML, и этот XML содержит сведения о приложении.
Я хочу сделать функциональность, где, если пользователь удаляет изображение из галереи изображений, то я хочу обновить этот XML.
Я хочу обновить это имя изображения до значения по умолчанию(defaultimg.png) в этом XML. т. е. я хочу обновить атрибут appLogoName элемента AppDesignSettings каждого элемента AppConfig, если appLogoName содержит то же изображение, которое пользователь удалил.
Эффект должен происходить в каждой строке таблицы. и он должен проверить каждый узел AppConfig из AppList.
Пожалуйста, прокомментируйте, если у вас есть какие-либо путаницы.
Спасибо.
Что я уже пробовал:
Я пробовал, где только первая соответствующая запись получает обновление. Но я хочу обновить каждый соответствующий элемент AppList и из каждой строки таблицы XML.