HTML обновление данных для XML столбца с новым значением на SQL сервере - PullRequest
1 голос
/ 20 июня 2020

У меня есть некоторый опыт работы с XQuery для обновления данных XML. Я пытался использовать тот же logi c для данных HTML на SQL сервере.

Но не работает должным образом.

Например, у меня есть столбец XML Value (на самом деле HTML данные), как показано ниже.

Declare @template xml = '<div>
<div id="divHeader">Congratulation<div id="Salutation">ravi</div></div><br/>
<div>From now you are a part of the Company<div id="cmpnyUserDetails"></div></div><br/>
<div id="clickSection">Please Click <a href="">Here</a> to Access Your New Features</div>
</div>'

, и я хотел бы изменить значение html для div с идентификатором «Приветствие» на «Новое значение» и добавить значение href на действительную ссылку с помощью XQuery.

SET @template.modify('replace value of (//div[id=("Salutation")]/text())[1] with "New Value"')
SELECT @template AS data

Но это не работает.

Может кто-нибудь посоветует мне, как это сделать?

Большое спасибо вперед, Рави.

1 Ответ

2 голосов
/ 20 июня 2020

Вы были близки. Обратите внимание на @id по сравнению с вашим id

Пример

SET @template.modify('replace value of (//div[@id=("Salutation")]/text())[1] with "New Value"')
select @template as data

Возвращает

<div>
  <div id="divHeader">Congratulation<div id="Salutation">New Value</div></div>
  <br />
  <div>From now you are a part of the Company<div id="cmpnyUserDetails" /></div>
  <br />
  <div id="clickSection">Please Click <a href="">Here</a> to Access Your New Features</div>
</div>
...