当前位置: 首页 > 知识库问答 >
问题:

如何在SQL Server中插入包含转义无效字符的XML

孟俊晖
2023-03-14

我试图将一些XML插入到使用列类型XML的SQL服务器html" target="_blank">数据库表中。

这在大多数情况下都可以正常工作,但是一个用户提交了一些带有十六进制值3字符的XML,SQL Server给出了错误“十六进制值0x03,是无效字符”

现在,我想在插入之前检查并删除所有无效的XML字符,有很多文章建议如何使用regex或类似的方法替换无效的XML字符。

但是,我的问题是,用户提交的XML文档中包含无效的转义字符,即“”,而我找到的任何方法都无法检测到这一点。这也是之前未检测到错误的原因:只有在将错误插入SQL数据库时才会出现问题。

是否有人编写了一个函数来检查所有转义的无效XML字符?我想上面的这个角色可能是用或或其他很多方式写的,所以很难把它们都写出来。

提前感谢您能提供的任何帮助。

共有1个答案

邢弘业
2023-03-14

您可以尝试将XML导入到临时varchar(max)变量或表列,并使用REPLACE删除违规字符,然后将清理后的字符串插入目标CASTing到XML中

 类似资料:
  • 问题内容: 我正在构建一个模拟器,以将JSON数据发布到正在运行的服务中。 JSON应该如下所示: 我在Chrome中使用“高级REST客户端”进行了尝试,效果很好。ServiceStack Web服务会正确解析日期获取。 因此,关键是编写一个传感器模拟器,将这样的数据发布到Web服务。 我用Java创建了它,因此可以在树莓派上运行它。 这是代码: 该程序的输出如下: 这里的问题是JSONObje

  • 我有一个字符串返回给我,其中包含转义字符。 这是一个示例字符串 " test\40gmail.com " 如您所见,它包含转义字符。我需要将其转换为其实际值,即 " test@gmail.com " 我该怎么做?

  • 问题内容: 我想使用Javascript生成指向页面的链接。该页面的参数位于我以JSON序列化的Javascript数组中。 所以我想生成一个这样的URL: 我该如何转义JSON字符串(序列化的数组)以将其作为参数包含在URL中? 如果有使用JQuery的解决方案,我会喜欢的。 注意:是的,页面的参数必须位于数组中,因为它们很多。 我想我以后将使用bit.ly缩短链接。 问题答案:

  • 问题内容: 我正在寻找一种将包含字符转义序列的字符串转换为表示的字符的方法。 因此,例如,我想将字符串(具有两个字符,一个反斜杠和一个双引号)解析为char 。因此,将一个字符数组转换为一个字符。 因此,可能会执行以下操作,反之亦然: 我不敢相信java.lang或其他任何东西都不能为此提供良好的代码(也许是本地代码),因为我觉得上面的代码可能不完整,并且无法解析每个有问题的(可逃避的?)字符,因

  • 我试图创建一个程序,该程序可以识别哪些分隔符缺少,并将它们插入文件中各自的位置。因此,例如,让我们假设我的如下所示: 我已经尝试打印,但根本不起作用,它只打印了数字116。 所以我的问题是:是否可以实际使用异常错误消息来修复,因为它显示缺少什么分隔符以及应该在什么位置,还是应该使用堆栈数据结构来跟踪所有可能的分隔符并插入缺少的分隔符?或者有没有更好的方法来做到这一点? 我在这里看到过其他问题,比如

  • null Groovy:找不到四位十六进制字符代码