更新 T-SQL 中的 XML 列

Update XML column in T-SQL

我想替换存储在 SQL 服务器数据库 table.

xml 列中的 xslt 文件的一部分

我尝试使用如下语法更新整个列值

UPDATE myTable
SET myColumn = '<user>
  <user_id>1</user_id>
  <fname>Josef</fname>
  <lname>Brown</lname>
  <email_>jo0@adventure-works.com</email_>
</user>'
WHERE id = 1

但是由于它到处都是单引号和双引号,所以它不起作用(SQL 查询解析本身失败)。

在 T-SQL 中是否有等效的 C# 逐字字符串?

如果是,那就太简单了,否则,

我可能必须搜索我的特定元素,如下所示

  <div class="someClass">
    <div class="someOtherClass">
      <xsl:if test="SomeElement/ChildElement='NULL'">

并将其替换为

  <div class="someClass">
    <div class="someOtherClass">
      <xsl:if test="SomeElement/ChildElement=''">

基本上,只需将 xsl:if 元素中的 NULL 替换为空字符串即可

我该怎么做?任何帮助表示赞赏。

我在 xml 值中发现并用两个单引号替换了所有出现的一个单引号 - 这样我的 sql 就可以很好地解析,然后使用此语法更新行。

UPDATE myTable
SET myColumn = '<user>
  <user_id>1</user_id>
  <fname>Caroline</fname>
  <lname>O''Connor</lname>
  <email_>jo0@adventure-works.com</email_>
</user>'
WHERE id = 1